TCI - Remove Warnings

* Undo fix of generics
* Revert this commit once we do not support Photon anymore

Change-Id: Ib41837951babd32d217f69ab7af65f5db3f5dd22
Signed-off-by: Johannes Faltermeier <jfaltermeier@eclipsesource.com>
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.renderer.swt/src/org/eclipse/emf/ecp/diffmerge/internal/renderer/swt/SWTDiffMergeAddition.java b/bundles/org.eclipse.emf.ecp.diffmerge.renderer.swt/src/org/eclipse/emf/ecp/diffmerge/internal/renderer/swt/SWTDiffMergeAddition.java
index 9977f18..4ebec11 100644
--- a/bundles/org.eclipse.emf.ecp.diffmerge.renderer.swt/src/org/eclipse/emf/ecp/diffmerge/internal/renderer/swt/SWTDiffMergeAddition.java
+++ b/bundles/org.eclipse.emf.ecp.diffmerge.renderer.swt/src/org/eclipse/emf/ecp/diffmerge/internal/renderer/swt/SWTDiffMergeAddition.java
@@ -58,6 +58,11 @@
 		super(vElement, viewContext, reportService);
 	}
 
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#getGridDescription(org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription)
+	 */
 	@Override
 	public SWTGridDescription getGridDescription(SWTGridDescription gridDescription) {
 		final SWTGridDescription addGridDescription = gridDescription.copy();
@@ -66,6 +71,12 @@
 		return addGridDescription;
 	}
 
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#renderControl(org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell,
+	 *      org.eclipse.swt.widgets.Composite)
+	 */
 	@Override
 	protected Control renderControl(SWTGridCell cell, Composite parent) throws NoRendererFoundException,
 		NoPropertyDescriptorFoundExeption {
@@ -87,6 +98,11 @@
 		// diffButton.setLayoutData(SWTRenderingHelper.INSTANCE.getLayoutHelper().getLeftColumnLayoutData());
 		diffButton.addSelectionListener(new SelectionAdapter() {
 
+			/**
+			 * {@inheritDoc}
+			 *
+			 * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
+			 */
 			@Override
 			public void widgetSelected(SelectionEvent e) {
 				super.widgetSelected(e);
@@ -98,6 +114,11 @@
 			if (VDiffAttachment.class.isInstance(attachment)) {
 				final Adapter adapter = new AdapterImpl() {
 
+					/**
+					 * {@inheritDoc}
+					 *
+					 * @see org.eclipse.emf.common.notify.impl.AdapterImpl#notifyChanged(org.eclipse.emf.common.notify.Notification)
+					 */
 					@Override
 					public void notifyChanged(Notification msg) {
 						super.notifyChanged(msg);
@@ -134,7 +155,7 @@
 
 		String label;
 		try {
-			label = getViewModelContext().getService(EMFFormsLabelProvider.class)
+			label = (String) getViewModelContext().getService(EMFFormsLabelProvider.class)
 				.getDisplayName(vControl.getDomainModelReference(), diffModelContext.getDomainModel()).getValue();
 		} catch (final NoLabelFoundException ex) {
 			getViewModelContext().getService(ReportService.class).report(new AbstractReport(ex));
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.swt/src/org/eclipse/emf/ecp/diffmerge/swt/DiffDialogHelper.java b/bundles/org.eclipse.emf.ecp.diffmerge.swt/src/org/eclipse/emf/ecp/diffmerge/swt/DiffDialogHelper.java
index 8756ba3..07c696c 100644
--- a/bundles/org.eclipse.emf.ecp.diffmerge.swt/src/org/eclipse/emf/ecp/diffmerge/swt/DiffDialogHelper.java
+++ b/bundles/org.eclipse.emf.ecp.diffmerge.swt/src/org/eclipse/emf/ecp/diffmerge/swt/DiffDialogHelper.java
@@ -86,7 +86,7 @@
 
 	private static String getControlLabel(VControl control, DiffMergeModelContext diffModelContext) {
 		try {
-			return Activator.getInstance().getEMFFormsLabelProvider()
+			return (String) Activator.getInstance().getEMFFormsLabelProvider()
 				.getDisplayName(control.getDomainModelReference(), diffModelContext.getDomainModel()).getValue();
 		} catch (final NoLabelFoundException e) {
 			return e.getMessage();
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.edit.swt/META-INF/MANIFEST.MF
index 21ce3ec..83a242f 100644
--- a/bundles/org.eclipse.emf.ecp.edit.swt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/META-INF/MANIFEST.MF
@@ -49,7 +49,6 @@
  org.eclipse.jface.action;version="0.0.0",
  org.eclipse.jface.databinding.fieldassist;version="0.0.0",
  org.eclipse.jface.databinding.swt;version="0.0.0",
- org.eclipse.jface.databinding.swt.typed;version="0.0.0",
  org.eclipse.jface.databinding.viewers;version="0.0.0",
  org.eclipse.jface.dialogs;version="0.0.0",
  org.eclipse.jface.fieldassist;version="0.0.0",
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/Activator.java b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/Activator.java
index 558285d..5a89b45 100644
--- a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/Activator.java
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/Activator.java
@@ -153,7 +153,7 @@
 		if (!getDefault().imageRegistry.containsKey(url == null ? "NULL" : url.toExternalForm())) { //$NON-NLS-1$
 
 			final ImageDescriptor createFromURL = ImageDescriptor.createFromURL(url);
-			final ImageData imageData = createFromURL.getImageData(100);
+			final ImageData imageData = createFromURL.getImageData();
 			getDefault().imageRegistry.put(url == null ? "NULL" : url.toExternalForm(), new ImageDescriptorToImage( //$NON-NLS-1$
 				createFromURL));
 		}
@@ -183,7 +183,7 @@
 	 * @return the {@link ImageData}
 	 */
 	public static ImageData getImageData(URL url) {
-		return ImageDescriptor.createFromURL(url).getImageData(100);
+		return ImageDescriptor.createFromURL(url).getImageData();
 	}
 
 	private ServiceReference<ECPControlFactory> controlFactoryReference;
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/reference/ReferenceMultiControl.java b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/reference/ReferenceMultiControl.java
index 628b4ef..b8d493f 100644
--- a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/reference/ReferenceMultiControl.java
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/reference/ReferenceMultiControl.java
@@ -15,6 +15,7 @@
 package org.eclipse.emf.ecp.edit.internal.swt.reference;
 
 import org.eclipse.emf.ecore.EStructuralFeature.Setting;
+import org.eclipse.emf.ecp.edit.internal.swt.Activator;
 import org.eclipse.emf.ecp.edit.internal.swt.controls.MultiControl;
 import org.eclipse.emf.ecp.edit.spi.ReferenceService;
 import org.eclipse.emf.ecp.edit.spi.swt.actions.ECPSWTAction;
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/table/NumberCellEditor.java b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/table/NumberCellEditor.java
index f24adb7..4880d75 100644
--- a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/table/NumberCellEditor.java
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/table/NumberCellEditor.java
@@ -32,12 +32,11 @@
 import org.eclipse.emf.edit.command.SetCommand;
 import org.eclipse.emfforms.spi.common.locale.EMFFormsLocaleProvider;
 import org.eclipse.emfforms.spi.localization.LocalizationServiceHelper;
-import org.eclipse.jface.databinding.swt.typed.WidgetProperties;
+import org.eclipse.jface.databinding.swt.WidgetProperties;
 import org.eclipse.jface.databinding.viewers.CellEditorProperties;
 import org.eclipse.jface.dialogs.IDialogLabelKeys;
 import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.viewers.CellEditor;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.graphics.Image;
 import org.eclipse.swt.widgets.Composite;
@@ -188,11 +187,24 @@
 		super(parent, style | SWT.RIGHT);
 	}
 
+	/**
+	 *
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#getValueProperty()
+	 */
 	@Override
-	public IValueProperty<CellEditor, String> getValueProperty() {
+	public IValueProperty getValueProperty() {
 		return CellEditorProperties.control().value(WidgetProperties.text(SWT.FocusOut));
 	}
 
+	/**
+	 *
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#instantiate(org.eclipse.emf.ecore.EStructuralFeature,
+	 *      org.eclipse.emf.ecp.view.spi.context.ViewModelContext)
+	 */
 	@Override
 	public void instantiate(EStructuralFeature eStructuralFeature, ViewModelContext viewModelContext) {
 		this.eStructuralFeature = eStructuralFeature;
@@ -201,6 +213,12 @@
 		localeProvider = viewModelContext.getService(EMFFormsLocaleProvider.class);
 	}
 
+	/**
+	 *
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#getFormatedString(java.lang.Object)
+	 */
 	@Override
 	public String getFormatedString(Object value) {
 		if (value == null) {
@@ -229,16 +247,34 @@
 		return Locale.getDefault();
 	}
 
+	/**
+	 *
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#getColumnWidthWeight()
+	 */
 	@Override
 	public int getColumnWidthWeight() {
 		return 50;
 	}
 
+	/**
+	 *
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#getTargetToModelStrategy(org.eclipse.core.databinding.DataBindingContext)
+	 */
 	@Override
 	public UpdateValueStrategy getTargetToModelStrategy(final DataBindingContext databindingContext) {
 		return withPreSetValidation(eStructuralFeature, new TargetToModelStrategy(databindingContext));
 	}
 
+	/**
+	 *
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#getModelToTargetStrategy(org.eclipse.core.databinding.DataBindingContext)
+	 */
 	@Override
 	public UpdateValueStrategy getModelToTargetStrategy(DataBindingContext databindingContext) {
 		return new EMFUpdateValueStrategy() {
@@ -262,6 +298,11 @@
 		return text;
 	}
 
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#setEditable(boolean)
+	 */
 	@Override
 	public void setEditable(boolean editable) {
 		if (getText() != null) {
@@ -269,11 +310,21 @@
 		}
 	}
 
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#getImage(java.lang.Object)
+	 */
 	@Override
 	public Image getImage(Object value) {
 		return null;
 	}
 
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#getMinWidth()
+	 */
 	@Override
 	public int getMinWidth() {
 		return 0;
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/util/OverlayImageDescriptor.java b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/util/OverlayImageDescriptor.java
index aaaa069..c5e97fe 100644
--- a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/util/OverlayImageDescriptor.java
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/util/OverlayImageDescriptor.java
@@ -101,7 +101,7 @@
 		}
 
 		// draw the overlay image
-		final ImageData overlayData = overlayDesc.getImageData(100);
+		final ImageData overlayData = overlayDesc.getImageData();
 		if (overlayData != null) {
 			Point pos = null;
 			switch (overlayPos) {
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/spi/swt/table/MultiStringCellEditor.java b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/spi/swt/table/MultiStringCellEditor.java
index 8da6894..92aced7 100644
--- a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/spi/swt/table/MultiStringCellEditor.java
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/spi/swt/table/MultiStringCellEditor.java
@@ -22,7 +22,7 @@
 import org.eclipse.emf.databinding.EMFUpdateValueStrategy;
 import org.eclipse.emf.ecore.EStructuralFeature;
 import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
-import org.eclipse.jface.databinding.swt.typed.WidgetProperties;
+import org.eclipse.jface.databinding.swt.WidgetProperties;
 import org.eclipse.jface.databinding.viewers.CellEditorProperties;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.graphics.Image;
@@ -101,17 +101,36 @@
 		super(parent, style);
 	}
 
-	@SuppressWarnings({ "rawtypes" })
+	/**
+	 *
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#getValueProperty()
+	 */
+	@SuppressWarnings({ "rawtypes", "unchecked" })
 	@Override
 	public IValueProperty getValueProperty() {
 		return CellEditorProperties.control().value(WidgetProperties.text(SWT.FocusOut));
 	}
 
+	/**
+	 *
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#instantiate(org.eclipse.emf.ecore.EStructuralFeature,
+	 *      org.eclipse.emf.ecp.view.spi.context.ViewModelContext)
+	 */
 	@Override
 	public void instantiate(EStructuralFeature eStructuralFeature, ViewModelContext viewModelContext) {
 		this.eStructuralFeature = eStructuralFeature;
 	}
 
+	/**
+	 *
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#getFormatedString(java.lang.Object)
+	 */
 	@Override
 	public String getFormatedString(Object value) {
 		if (value == null) {
@@ -135,16 +154,34 @@
 		return string;
 	}
 
+	/**
+	 *
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#getColumnWidthWeight()
+	 */
 	@Override
 	public int getColumnWidthWeight() {
 		return 50;
 	}
 
+	/**
+	 *
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#getTargetToModelStrategy(org.eclipse.core.databinding.DataBindingContext)
+	 */
 	@Override
 	public UpdateValueStrategy getTargetToModelStrategy(final DataBindingContext databindingContext) {
 		return withPreSetValidation(eStructuralFeature, new TargetToModelStrategy());
 	}
 
+	/**
+	 *
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#getModelToTargetStrategy(org.eclipse.core.databinding.DataBindingContext)
+	 */
 	@Override
 	public UpdateValueStrategy getModelToTargetStrategy(DataBindingContext databindingContext) {
 		return new EMFUpdateValueStrategy() {
@@ -164,6 +201,11 @@
 		return text;
 	}
 
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#setEditable(boolean)
+	 */
 	@Override
 	public void setEditable(boolean editable) {
 		if (getText() != null) {
@@ -171,11 +213,21 @@
 		}
 	}
 
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#getImage(java.lang.Object)
+	 */
 	@Override
 	public Image getImage(Object value) {
 		return null;
 	}
 
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#getMinWidth()
+	 */
 	@Override
 	public int getMinWidth() {
 		return 0;
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/spi/swt/table/StringCellEditor.java b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/spi/swt/table/StringCellEditor.java
index 555cb73..5372a11 100644
--- a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/spi/swt/table/StringCellEditor.java
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/spi/swt/table/StringCellEditor.java
@@ -19,9 +19,8 @@
 import org.eclipse.emf.ecore.EStructuralFeature;
 import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
 import org.eclipse.emf.edit.command.SetCommand;
-import org.eclipse.jface.databinding.swt.typed.WidgetProperties;
+import org.eclipse.jface.databinding.swt.WidgetProperties;
 import org.eclipse.jface.databinding.viewers.CellEditorProperties;
-import org.eclipse.jface.viewers.CellEditor;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.graphics.Image;
 import org.eclipse.swt.widgets.Composite;
@@ -64,7 +63,7 @@
 	}
 
 	@Override
-	public IValueProperty<CellEditor, String> getValueProperty() {
+	public IValueProperty getValueProperty() {
 		return CellEditorProperties.control().value(WidgetProperties.text(SWT.FocusOut));
 	}
 
diff --git a/bundles/org.eclipse.emf.ecp.emf2web.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.emf2web.ui/META-INF/MANIFEST.MF
index 2fe3169..6c7cac8 100644
--- a/bundles/org.eclipse.emf.ecp.emf2web.ui/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.emf2web.ui/META-INF/MANIFEST.MF
@@ -22,7 +22,6 @@
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.emf2web.ui
 Import-Package: org.eclipse.jface.databinding.swt;version="0.0.0",
- org.eclipse.jface.databinding.swt.typed;version="0.0.0",
  org.eclipse.jface.databinding.wizard;version="0.0.0",
  org.eclipse.swt;version="0.0.0",
  org.eclipse.swt.widgets;version="0.0.0"
diff --git a/bundles/org.eclipse.emf.ecp.emf2web.ui/src/org/eclipse/emf/ecp/emf2web/ui/wizard/SelectLocationPage.java b/bundles/org.eclipse.emf.ecp.emf2web.ui/src/org/eclipse/emf/ecp/emf2web/ui/wizard/SelectLocationPage.java
index dba517d..030ff1a 100644
--- a/bundles/org.eclipse.emf.ecp.emf2web.ui/src/org/eclipse/emf/ecp/emf2web/ui/wizard/SelectLocationPage.java
+++ b/bundles/org.eclipse.emf.ecp.emf2web.ui/src/org/eclipse/emf/ecp/emf2web/ui/wizard/SelectLocationPage.java
@@ -17,7 +17,7 @@
 
 import org.eclipse.core.databinding.DataBindingContext;
 import org.eclipse.core.databinding.UpdateValueStrategy;
-import org.eclipse.core.databinding.beans.typed.PojoProperties;
+import org.eclipse.core.databinding.beans.PojoProperties;
 import org.eclipse.core.databinding.conversion.IConverter;
 import org.eclipse.core.databinding.observable.value.IObservableValue;
 import org.eclipse.core.databinding.validation.IValidator;
@@ -32,7 +32,7 @@
 import org.eclipse.emf.common.util.URI;
 import org.eclipse.emf.ecp.emf2web.controller.xtend.GenerationInfo;
 import org.eclipse.emf.ecp.emf2web.ui.messages.Messages;
-import org.eclipse.jface.databinding.swt.typed.WidgetProperties;
+import org.eclipse.jface.databinding.swt.WidgetProperties;
 import org.eclipse.jface.databinding.wizard.WizardPageSupport;
 import org.eclipse.jface.fieldassist.ControlDecoration;
 import org.eclipse.jface.fieldassist.FieldDecoration;
@@ -194,7 +194,7 @@
 	 * Indicates if this page was already shown to the user.
 	 *
 	 * @return
-	 *         {@code true} if this page was already shown to the user, {@code false} if this page was never shown to
+	 * 		{@code true} if this page was already shown to the user, {@code false} if this page was never shown to
 	 *         the user.
 	 */
 	public boolean wasAlreadyVisible() {
@@ -277,29 +277,32 @@
 	/**
 	 * Validates the given location.
 	 */
-	private class LocationValidator implements IValidator<URI> {
+	private class LocationValidator implements IValidator {
 		@Override
-		public IStatus validate(URI uri) {
-			if (uri == null) {
+		public IStatus validate(Object value) {
+			if (value == null) {
 				requiredLocationDecoration.show();
 				return ValidationStatus.error(Messages.getString("SelectLocationPage.LocationError")); //$NON-NLS-1$
 			}
-			if (uri.isPlatform()) {
-				final IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-				final IResource resource = root.findMember(uri.toPlatformString(true));
-				if (IContainer.class.isInstance(resource)) {
-					requiredLocationDecoration.show();
-					return ValidationStatus.error(Messages.getString("SelectLocationPage.LocationDirectoryError")); //$NON-NLS-1$
-				}
-			} else {
-				if (uri.toFileString() == null) {
-					requiredLocationDecoration.show();
-					return ValidationStatus.error(Messages.getString("SelectLocationPage.LocationValidError")); //$NON-NLS-1$
-				}
-				final File file = new File(uri.toFileString());
-				if (file.isDirectory()) {
-					requiredLocationDecoration.show();
-					return ValidationStatus.error(Messages.getString("SelectLocationPage.LocationDirectoryError")); //$NON-NLS-1$
+			if (URI.class.isInstance(value)) {
+				final URI uri = URI.class.cast(value);
+				if (uri.isPlatform()) {
+					final IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
+					final IResource resource = root.findMember(uri.toPlatformString(true));
+					if (IContainer.class.isInstance(resource)) {
+						requiredLocationDecoration.show();
+						return ValidationStatus.error(Messages.getString("SelectLocationPage.LocationDirectoryError")); //$NON-NLS-1$
+					}
+				} else {
+					if (uri.toFileString() == null) {
+						requiredLocationDecoration.show();
+						return ValidationStatus.error(Messages.getString("SelectLocationPage.LocationValidError")); //$NON-NLS-1$
+					}
+					final File file = new File(uri.toFileString());
+					if (file.isDirectory()) {
+						requiredLocationDecoration.show();
+						return ValidationStatus.error(Messages.getString("SelectLocationPage.LocationDirectoryError")); //$NON-NLS-1$
+					}
 				}
 			}
 			requiredLocationDecoration.hide();
@@ -310,7 +313,7 @@
 	/**
 	 * Converts a manually entered string to an {@link URI}.
 	 */
-	private class StringToURIConverter implements IConverter<String, URI> {
+	private class StringToURIConverter implements IConverter {
 		@Override
 		public Object getToType() {
 			return URI.class;
@@ -322,10 +325,11 @@
 		}
 
 		@Override
-		public URI convert(String path) {
-			if (path == null || "".equals(path)) { //$NON-NLS-1$
+		public Object convert(Object fromObject) {
+			if (fromObject == null || "".equals(fromObject)) { //$NON-NLS-1$
 				return null;
 			}
+			final String path = (String) fromObject;
 			if (path.startsWith("platform:") || path.startsWith("file:")) { //$NON-NLS-1$ //$NON-NLS-2$
 				return URI.createURI(path, false);
 			}
@@ -336,7 +340,7 @@
 	/**
 	 * Converts an URI to a String.
 	 */
-	private class URItoStringConverter implements IConverter<URI, String> {
+	private class URItoStringConverter implements IConverter {
 		@Override
 		public Object getToType() {
 			return String.class;
@@ -348,10 +352,11 @@
 		}
 
 		@Override
-		public String convert(URI path) {
-			if (path == null) {
+		public Object convert(Object fromObject) {
+			if (fromObject == null) {
 				return ""; //$NON-NLS-1$
 			}
+			final URI path = (URI) fromObject;
 			if (path.isFile()) {
 				return path.toFileString();
 			}
@@ -367,28 +372,25 @@
 	protected DataBindingContext initDataBindings() {
 		final DataBindingContext bindingContext = new DataBindingContext();
 
-		final IObservableValue<String> observeTextLocationTextObserveWidget = WidgetProperties.text(SWT.Modify)
+		final IObservableValue observeTextLocationTextObserveWidget = WidgetProperties.text(SWT.Modify)
 			.observe(locationText);
-		final IObservableValue<URI> locationGenerationInfoObserveValue = PojoProperties.value("location", URI.class) //$NON-NLS-1$
+		final IObservableValue locationGenerationInfoObserveValue = PojoProperties.value("location") //$NON-NLS-1$
 			.observe(generationInfo);
 		bindingContext.bindValue(
-			observeTextLocationTextObserveWidget, locationGenerationInfoObserveValue,
-			new UpdateValueStrategy<String, URI>()
+			observeTextLocationTextObserveWidget, locationGenerationInfoObserveValue, new UpdateValueStrategy()
 				.setConverter(new StringToURIConverter()).setAfterConvertValidator(new LocationValidator()),
-			new UpdateValueStrategy<URI, String>().setConverter(new URItoStringConverter()));
+			new UpdateValueStrategy().setConverter(new URItoStringConverter()));
 
-		final IObservableValue<String> observeTextGeneratedTextObserveWidget = WidgetProperties.text(SWT.Modify)
+		final IObservableValue observeTextGeneratedTextObserveWidget = WidgetProperties.text(SWT.Modify)
 			.observe(generatedText);
-		final IObservableValue<String> generatedStringGenerationInfoObserveValue = PojoProperties
-			.value("generatedString", String.class) //$NON-NLS-1$
+		final IObservableValue generatedStringGenerationInfoObserveValue = PojoProperties.value("generatedString") //$NON-NLS-1$
 			.observe(generationInfo);
 		bindingContext.bindValue(observeTextGeneratedTextObserveWidget, generatedStringGenerationInfoObserveValue, null,
 			null);
 
 		if (generationInfo.getWrapper() != null) {
-			final IObservableValue<Boolean> observeSelectionBtnWrapObserveWidget = WidgetProperties.buttonSelection()
-				.observe(btnWrap);
-			final IObservableValue<Boolean> wrapGenerationInfoObserveValue = PojoProperties.value("wrap", boolean.class) //$NON-NLS-1$
+			final IObservableValue observeSelectionBtnWrapObserveWidget = WidgetProperties.selection().observe(btnWrap);
+			final IObservableValue wrapGenerationInfoObserveValue = PojoProperties.value("wrap") //$NON-NLS-1$
 				.observe(generationInfo);
 			bindingContext.bindValue(observeSelectionBtnWrapObserveWidget, wrapGenerationInfoObserveValue, null, null);
 		}
diff --git a/bundles/org.eclipse.emf.ecp.emf2web/src/org/eclipse/emf/ecp/emf2web/util/AbstractReferenceHelper.java b/bundles/org.eclipse.emf.ecp.emf2web/src/org/eclipse/emf/ecp/emf2web/util/AbstractReferenceHelper.java
index 92b378c..3487f00 100644
--- a/bundles/org.eclipse.emf.ecp.emf2web/src/org/eclipse/emf/ecp/emf2web/util/AbstractReferenceHelper.java
+++ b/bundles/org.eclipse.emf.ecp.emf2web/src/org/eclipse/emf/ecp/emf2web/util/AbstractReferenceHelper.java
@@ -63,7 +63,7 @@
 	 * @param reference
 	 *            The {@link VDomainModelReference} for which the {@link EStructuralFeature} is to be determined.
 	 * @return
-	 *         The determined {@link EStructuralFeature}.
+	 * 		The determined {@link EStructuralFeature}.
 	 */
 	protected EStructuralFeature getEStructuralFeature(VDomainModelReference reference) {
 		try {
@@ -118,9 +118,9 @@
 				final ServiceReference<EMFFormsLabelProvider> serviceReference = bundleContext
 					.getServiceReference(EMFFormsLabelProvider.class);
 				final EMFFormsLabelProvider labelProvider = bundleContext.getService(serviceReference);
-				final IObservableValue<String> observableValue = labelProvider.getDisplayName(reference,
+				final IObservableValue<?> observableValue = labelProvider.getDisplayName(reference,
 					getRootEClass(reference));
-				final String result = observableValue.getValue();
+				final String result = (String) observableValue.getValue();
 				observableValue.dispose();
 				bundleContext.ungetService(serviceReference);
 				return result;
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/META-INF/MANIFEST.MF
index b1bd145..551e2cd 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/META-INF/MANIFEST.MF
@@ -52,7 +52,6 @@
  org.eclipse.emfforms.spi.common.report;version="[1.22.0,1.23.0)",
  org.eclipse.emfforms.spi.core.services.databinding.emf;version="[1.22.0,1.23.0)",
  org.eclipse.jface.databinding.swt;version="0.0.0",
- org.eclipse.jface.databinding.swt.typed;version="0.0.0",
  org.eclipse.jface.databinding.viewers;version="0.0.0",
  org.eclipse.jface.resource;version="0.0.0",
  org.eclipse.swt;version="0.0.0",
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/Activator.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/Activator.java
index b67a2ac..bf99544 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/Activator.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/Activator.java
@@ -145,15 +145,23 @@
 	 * @return the {@link ImageData}
 	 */
 	public static ImageData getImageData(URL url) {
-		return ImageDescriptor.createFromURL(url).getImageData(100);
+		return ImageDescriptor.createFromURL(url).getImageData();
 	}
 
+	/*
+	 * (non-Javadoc)
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+	 */
 	@Override
 	public void start(BundleContext context) throws Exception {
 		super.start(context);
 		plugin = this;
 	}
 
+	/*
+	 * (non-Javadoc)
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+	 */
 	@Override
 	public void stop(BundleContext context) throws Exception {
 		for (final ImageDescriptorToImage descriptorToImage : imageRegistry.values()) {
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/ControlRootEClassControl2SWTRenderer.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/ControlRootEClassControl2SWTRenderer.java
index 95a824e..1f488b3 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/ControlRootEClassControl2SWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/ControlRootEClassControl2SWTRenderer.java
@@ -36,11 +36,10 @@
 import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
 import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
 import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
-import org.eclipse.jface.databinding.swt.typed.WidgetProperties;
+import org.eclipse.jface.databinding.swt.WidgetProperties;
 import org.eclipse.jface.layout.GridDataFactory;
 import org.eclipse.jface.layout.GridLayoutFactory;
 import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
 import org.eclipse.swt.widgets.Display;
@@ -86,7 +85,7 @@
 	protected Binding[] createBindings(Control control) throws DatabindingFailedException {
 
 		final Binding[] bindings = new Binding[3];
-		final IObservableValue<String> value = WidgetProperties.text().observe(label);
+		final IObservableValue value = WidgetProperties.text().observe(label);
 
 		bindings[0] = getDataBindingContext().bindValue(value, getModelValue(),
 			withPreSetValidation(new UpdateValueStrategy() {
@@ -107,7 +106,7 @@
 					return getText(value);
 				}
 			});
-		final IObservableValue<String> tooltipValue = WidgetProperties.tooltipText().observe(label);
+		final IObservableValue tooltipValue = WidgetProperties.tooltipText().observe(label);
 		bindings[1] = getDataBindingContext().bindValue(tooltipValue, getModelValue(),
 			withPreSetValidation(new UpdateValueStrategy() {
 
@@ -127,7 +126,7 @@
 				}
 			});
 
-		final IObservableValue<Image> imageValue = WidgetProperties.image().observe(imageLabel);
+		final IObservableValue imageValue = WidgetProperties.image().observe(imageLabel);
 		bindings[2] = getDataBindingContext().bindValue(imageValue, getModelValue(),
 			withPreSetValidation(new UpdateValueStrategy() {
 
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/DomainModelReferenceControlSWTRenderer.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/DomainModelReferenceControlSWTRenderer.java
index 73a23f9..110f85d 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/DomainModelReferenceControlSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/DomainModelReferenceControlSWTRenderer.java
@@ -74,7 +74,7 @@
 import org.eclipse.emfforms.spi.localization.LocalizationServiceHelper;
 import org.eclipse.jface.action.Action;
 import org.eclipse.jface.databinding.swt.ISWTObservableValue;
-import org.eclipse.jface.databinding.swt.typed.WidgetProperties;
+import org.eclipse.jface.databinding.swt.WidgetProperties;
 import org.eclipse.jface.layout.GridDataFactory;
 import org.eclipse.jface.layout.GridLayoutFactory;
 import org.eclipse.jface.viewers.TreeViewer;
@@ -84,7 +84,6 @@
 import org.eclipse.swt.events.SelectionAdapter;
 import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Image;
 import org.eclipse.swt.widgets.Button;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
@@ -143,7 +142,7 @@
 	protected Binding[] createBindings(Control control) throws DatabindingFailedException {
 
 		final Binding[] bindings = new Binding[3];
-		final IObservableValue<String> value = WidgetProperties.text().observe(setLabel);
+		final IObservableValue value = WidgetProperties.text().observe(setLabel);
 
 		bindings[0] = getDataBindingContext().bindValue(value, getModelValue(),
 			withPreSetValidation(new UpdateValueStrategy() {
@@ -165,7 +164,7 @@
 				}
 			});
 
-		final IObservableValue<Image> imageValue = WidgetProperties.image().observe(imageLabel);
+		final IObservableValue imageValue = WidgetProperties.image().observe(imageLabel);
 		bindings[1] = getDataBindingContext().bindValue(imageValue, getModelValue(),
 			withPreSetValidation(new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER)),
 			new UpdateValueStrategy() {
@@ -175,7 +174,7 @@
 				}
 			});
 
-		final ISWTObservableValue<String> setLabelTooltip = WidgetProperties.tooltipText().observe(setLabel);
+		final ISWTObservableValue setLabelTooltip = WidgetProperties.tooltipText().observe(setLabel);
 		bindings[2] = getDataBindingContext().bindValue(
 			setLabelTooltip,
 			getModelValue(),
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/EReferenceLabelControlSWTRenderer.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/EReferenceLabelControlSWTRenderer.java
index 0c6d91d..beabf38 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/EReferenceLabelControlSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/EReferenceLabelControlSWTRenderer.java
@@ -33,11 +33,10 @@
 import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
 import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
 import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
-import org.eclipse.jface.databinding.swt.typed.WidgetProperties;
+import org.eclipse.jface.databinding.swt.WidgetProperties;
 import org.eclipse.jface.layout.GridDataFactory;
 import org.eclipse.jface.layout.GridLayoutFactory;
 import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
 import org.eclipse.swt.widgets.Display;
@@ -90,11 +89,17 @@
 	private Label imageLabel;
 	private ECPModelElementChangeListener modelElementChangeListener;
 
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTControlSWTRenderer#createBindings(org.eclipse.swt.widgets.Control,
+	 *      org.eclipse.emf.ecore.EStructuralFeature.Setting)
+	 */
 	@Override
 	protected Binding[] createBindings(Control control) throws DatabindingFailedException {
 
 		final Binding[] bindings = new Binding[3];
-		final IObservableValue<String> value = WidgetProperties.text().observe(label);
+		final IObservableValue value = WidgetProperties.text().observe(label);
 
 		bindings[0] = getDataBindingContext().bindValue(value, getModelValue(),
 			withPreSetValidation(new UpdateValueStrategy() {
@@ -115,7 +120,7 @@
 					return getText(value);
 				}
 			});
-		final IObservableValue<String> tooltipValue = WidgetProperties.tooltipText().observe(label);
+		final IObservableValue tooltipValue = WidgetProperties.tooltipText().observe(label);
 		bindings[1] = getDataBindingContext().bindValue(tooltipValue, getModelValue(),
 			withPreSetValidation(new UpdateValueStrategy() {
 
@@ -135,7 +140,7 @@
 				}
 			});
 
-		final IObservableValue<Image> imageValue = WidgetProperties.image().observe(imageLabel);
+		final IObservableValue imageValue = WidgetProperties.image().observe(imageLabel);
 		bindings[2] = getDataBindingContext().bindValue(imageValue, getModelValue(),
 			withPreSetValidation(new UpdateValueStrategy() {
 
@@ -164,7 +169,7 @@
 
 	/**
 	 * Computes the label text for the referenced object.
-	 *
+	 * 
 	 * @param value The referenced object
 	 * @return the label text to display
 	 */
@@ -204,6 +209,12 @@
 
 	}
 
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTControlSWTRenderer#createSWTControl(org.eclipse.swt.widgets.Composite,
+	 *      org.eclipse.emf.ecore.EStructuralFeature.Setting)
+	 */
 	@Override
 	protected Control createSWTControl(Composite parent2) throws DatabindingFailedException {
 		final Composite composite2 = new Composite(parent2, SWT.NONE);
@@ -232,6 +243,11 @@
 		return composite2;
 	}
 
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTRenderer#getUnsetText()
+	 */
 	@Override
 	protected String getUnsetText() {
 		return "Not set"; //$NON-NLS-1$
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/EditableEReferenceLabelControlSWTRenderer.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/EditableEReferenceLabelControlSWTRenderer.java
index b001846..a65ef96 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/EditableEReferenceLabelControlSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/EditableEReferenceLabelControlSWTRenderer.java
@@ -27,7 +27,7 @@
 import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
 import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
 import org.eclipse.emfforms.spi.core.services.label.NoLabelFoundException;
-import org.eclipse.jface.databinding.swt.typed.WidgetProperties;
+import org.eclipse.jface.databinding.swt.WidgetProperties;
 import org.eclipse.jface.dialogs.IDialogLabelKeys;
 import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.jface.layout.GridLayoutFactory;
@@ -59,6 +59,11 @@
 		viewModelDBC = new EMFDataBindingContext();
 	}
 
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.view.internal.editor.controls.ControlRootEClassControl2SWTRenderer#createSWTControl(org.eclipse.swt.widgets.Composite)
+	 */
 	@Override
 	protected Control createSWTControl(final Composite parent2) throws DatabindingFailedException {
 		final Composite composite = (Composite) super.createSWTControl(parent2);
@@ -68,28 +73,37 @@
 		final EMFFormsLabelProvider labelProvider = getEMFFormsLabelProvider();
 		final Button selectClass = new Button(composite, SWT.PUSH);
 		try {
-			final IObservableValue<String> labelText = labelProvider.getDisplayName(
-				getVElement().getDomainModelReference(),
+			final IObservableValue labelText = labelProvider.getDisplayName(getVElement().getDomainModelReference(),
 				getViewModelContext().getDomainModel());
-			final IObservableValue<String> tooltip = labelProvider.getDescription(
-				getVElement().getDomainModelReference(),
+			final IObservableValue tooltip = labelProvider.getDescription(getVElement().getDomainModelReference(),
 				getViewModelContext().getDomainModel());
 
 			viewModelDBC.bindValue(WidgetProperties.text().observe(selectClass), labelText, null,
-				new UpdateValueStrategy<String, String>() {
+				new UpdateValueStrategy() {
+
+					/**
+					 * {@inheritDoc}
+					 *
+					 * @see org.eclipse.core.databinding.UpdateValueStrategy#convert(java.lang.Object)
+					 */
 					@Override
-					public String convert(String value) {
-						final String result = super.convert(value);
+					public Object convert(Object value) {
+						final String result = (String) super.convert(value);
 						return "Link " + result; //$NON-NLS-1$
 					}
 
 				});
 			viewModelDBC.bindValue(WidgetProperties.tooltipText().observe(selectClass), tooltip, null,
-				new UpdateValueStrategy<String, String>() {
+				new UpdateValueStrategy() {
 
+					/**
+					 * {@inheritDoc}
+					 *
+					 * @see org.eclipse.core.databinding.UpdateValueStrategy#convert(java.lang.Object)
+					 */
 					@Override
-					public String convert(String value) {
-						final String result = super.convert(value);
+					public Object convert(Object value) {
+						final String result = (String) super.convert(value);
 						return "Link " + result; //$NON-NLS-1$
 					}
 
@@ -102,6 +116,11 @@
 		}
 		selectClass.addSelectionListener(new SelectionAdapter() {
 
+			/**
+			 * {@inheritDoc}
+			 *
+			 * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
+			 */
 			@Override
 			public void widgetSelected(SelectionEvent e) {
 				super.widgetSelected(e);
@@ -122,6 +141,11 @@
 
 		unset.addSelectionListener(new SelectionAdapter() {
 
+			/**
+			 * {@inheritDoc}
+			 *
+			 * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
+			 */
 			@Override
 			public void widgetSelected(SelectionEvent e) {
 				super.widgetSelected(e);
@@ -162,6 +186,11 @@
 		}.execute();
 	}
 
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.view.internal.editor.controls.EReferenceLabelControlSWTRenderer#dispose()
+	 */
 	@Override
 	public void dispose() {
 		viewModelDBC.dispose();
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/ExpectedValueControlRenderer.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/ExpectedValueControlRenderer.java
index e411da5..7a87b6e 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/ExpectedValueControlRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/ExpectedValueControlRenderer.java
@@ -42,7 +42,6 @@
 import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
 import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
 import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
-import org.eclipse.jface.databinding.swt.typed.WidgetProperties;
 import org.eclipse.jface.dialogs.InputDialog;
 import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.jface.layout.GridDataFactory;
@@ -127,13 +126,19 @@
 		return text;
 	}
 
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTControlSWTRenderer#createBindings(org.eclipse.swt.widgets.Control,
+	 *      org.eclipse.emf.ecore.EStructuralFeature.Setting)
+	 */
 	@Override
 	protected Binding[] createBindings(Control control) throws DatabindingFailedException {
 		final Label text = (Label) control;
 		final TargetToModelUpdateStrategy targetToModelUpdateStrategy = new TargetToModelUpdateStrategy();
 		final ModelToTargetUpdateStrategy modelToTargetUpdateStrategy = new ModelToTargetUpdateStrategy();
 
-		final IObservableValue<String> value = WidgetProperties.text().observe(text);
+		final IObservableValue value = org.eclipse.jface.databinding.swt.WidgetProperties.text().observe(text);
 
 		final Binding binding = getDataBindingContext().bindValue(value, getModelValue(),
 			withPreSetValidation(targetToModelUpdateStrategy), modelToTargetUpdateStrategy);
@@ -152,7 +157,7 @@
 	 */
 	protected Binding createTooltipBinding(Control text, IObservableValue modelValue,
 		DataBindingContext dataBindingContext, UpdateValueStrategy targetToModel, UpdateValueStrategy modelToTarget) {
-		final IObservableValue<String> toolTip = WidgetProperties.tooltipText().observe(text);
+		final IObservableValue toolTip = org.eclipse.jface.databinding.swt.WidgetProperties.tooltipText().observe(text);
 		return dataBindingContext.bindValue(toolTip, modelValue, targetToModel, modelToTarget);
 	}
 
@@ -317,6 +322,11 @@
 		return result;
 	}
 
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTRenderer#getUnsetText()
+	 */
 	@Override
 	protected String getUnsetText() {
 		// TODO Auto-generated method stub
@@ -369,6 +379,9 @@
 		public TargetToModelUpdateStrategy() {
 		}
 
+		/**
+		 * {@inheritDoc}
+		 */
 		@Override
 		public Object convert(Object value) {
 			return value;
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/TableColumnsDMRTableControl.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/TableColumnsDMRTableControl.java
index 0a39bb4..bf3363c 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/TableColumnsDMRTableControl.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/TableColumnsDMRTableControl.java
@@ -75,7 +75,7 @@
 import org.eclipse.emfforms.spi.localization.LocalizationServiceHelper;
 import org.eclipse.emfforms.spi.swt.core.layout.GridDescriptionFactory;
 import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
-import org.eclipse.jface.databinding.swt.typed.WidgetProperties;
+import org.eclipse.jface.databinding.swt.WidgetProperties;
 import org.eclipse.jface.databinding.viewers.ObservableListContentProvider;
 import org.eclipse.jface.layout.GridDataFactory;
 import org.eclipse.jface.layout.GridLayoutFactory;
@@ -134,6 +134,11 @@
 	private TableViewer viewer;
 	private SWTGridDescription rendererGridDescription;
 
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTRenderer#createControl(org.eclipse.swt.widgets.Composite)
+	 */
 	// BEGIN COMPLEX CODE
 	@Override
 	protected Control createControl(final Composite parent) throws DatabindingFailedException {
@@ -191,9 +196,9 @@
 		final TableColumn tableColumn = column.getColumn();
 		final EMFFormsLabelProvider emfFormsLabelProvider = getEMFFormsLabelProvider();// TODO
 		try {
-			final IObservableValue<String> labelText = emfFormsLabelProvider.getDisplayName(
+			final IObservableValue labelText = emfFormsLabelProvider.getDisplayName(
 				getVElement().getDomainModelReference(), getViewModelContext().getDomainModel());
-			final IObservableValue<String> tooltip = emfFormsLabelProvider.getDescription(
+			final IObservableValue tooltip = emfFormsLabelProvider.getDescription(
 				getVElement().getDomainModelReference(), getViewModelContext().getDomainModel());
 			viewModelDBC.bindValue(WidgetProperties.text().observe(tableColumn), labelText);
 			viewModelDBC.bindValue(WidgetProperties.tooltipText().observe(tableColumn), tooltip);
@@ -240,6 +245,11 @@
 		viewer.addDropSupport(dndOperations, transfers, editingDomainViewerDropAdapter);
 	}
 
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.view.spi.core.swt.AbstractControlSWTRenderer#postInit()
+	 */
 	@Override
 	protected void postInit() {
 		super.postInit();
@@ -249,6 +259,11 @@
 		labelProvider = new TableColumnsLabelProvider(composedAdapterFactory);
 	}
 
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTRenderer#dispose()
+	 */
 	@Override
 	protected void dispose() {
 		labelProvider.dispose();
@@ -258,11 +273,21 @@
 		super.dispose();
 	}
 
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTRenderer#getUnsetText()
+	 */
 	@Override
 	protected String getUnsetText() {
 		return "No columns set"; //$NON-NLS-1$
 	}
 
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.view.spi.core.swt.AbstractControlSWTRenderer#rootDomainModelChanged()
+	 */
 	@Override
 	protected void rootDomainModelChanged() throws DatabindingFailedException {
 		final IObservableList oldList = (IObservableList) viewer.getInput();
@@ -370,6 +395,11 @@
 			this.viewer = viewer;
 		}
 
+		/**
+		 * {@inheritDoc}
+		 *
+		 * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
+		 */
 		@Override
 		public void widgetSelected(SelectionEvent e) {
 			super.widgetSelected(e);
@@ -398,6 +428,11 @@
 			this.viewer = viewer;
 		}
 
+		/**
+		 * {@inheritDoc}
+		 *
+		 * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
+		 */
 		@Override
 		public void widgetSelected(SelectionEvent e) {
 			super.widgetSelected(e);
@@ -457,6 +492,11 @@
 	private final class SortSelectionAdapter extends SelectionAdapter {
 		private boolean down;
 
+		/**
+		 * {@inheritDoc}
+		 *
+		 * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
+		 */
 		@Override
 		public void widgetSelected(SelectionEvent e) {
 			super.widgetSelected(e);
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/TableDetailViewControlSWTRenderer.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/TableDetailViewControlSWTRenderer.java
index 93dddc3..7f716ea 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/TableDetailViewControlSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/TableDetailViewControlSWTRenderer.java
@@ -49,14 +49,13 @@
 import org.eclipse.emfforms.spi.core.services.editsupport.EMFFormsEditSupport;
 import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
 import org.eclipse.jface.action.Action;
-import org.eclipse.jface.databinding.swt.typed.WidgetProperties;
+import org.eclipse.jface.databinding.swt.WidgetProperties;
 import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.jface.layout.GridDataFactory;
 import org.eclipse.jface.layout.GridLayoutFactory;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Image;
 import org.eclipse.swt.widgets.Button;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
@@ -169,7 +168,7 @@
 	@Override
 	protected Binding[] createBindings(Control control) throws DatabindingFailedException {
 		final Binding[] bindings = new Binding[3];
-		final IObservableValue<String> value = WidgetProperties.text().observe(label);
+		final IObservableValue value = WidgetProperties.text().observe(label);
 
 		bindings[0] = getDataBindingContext().bindValue(value, getModelValue(),
 			withPreSetValidation(new UpdateValueStrategy() {
@@ -190,7 +189,7 @@
 				}
 			});
 
-		final IObservableValue<String> tooltipValue = WidgetProperties.tooltipText().observe(label);
+		final IObservableValue tooltipValue = WidgetProperties.tooltipText().observe(label);
 		bindings[1] = getDataBindingContext().bindValue(tooltipValue, getModelValue(),
 			withPreSetValidation(new UpdateValueStrategy() {
 
@@ -210,7 +209,7 @@
 				}
 			});
 
-		final IObservableValue<Image> imageValue = WidgetProperties.image().observe(imageLabel);
+		final IObservableValue imageValue = WidgetProperties.image().observe(imageLabel);
 		bindings[2] = getDataBindingContext().bindValue(imageValue, getModelValue(),
 			withPreSetValidation(new UpdateValueStrategy() {
 
@@ -245,6 +244,11 @@
 		return Activator.getImage((URL) adapterFactoryItemDelegator.getImage(value));
 	}
 
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTControlSWTRenderer#createSWTControl(org.eclipse.swt.widgets.Composite)
+	 */
 	@Override
 	protected Control createSWTControl(Composite parent) throws DatabindingFailedException {
 		final IObservableValue observableValue = getEMFFormsDatabinding()
@@ -320,6 +324,11 @@
 		return selectButton;
 	}
 
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTRenderer#dispose()
+	 */
 	@Override
 	protected void dispose() {
 		composedAdapterFactory.dispose();
@@ -331,6 +340,11 @@
 		super.dispose();
 	}
 
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTRenderer#getUnsetText()
+	 */
 	@Override
 	protected String getUnsetText() {
 		return ""; //$NON-NLS-1$
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.swt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.categorization.swt/META-INF/MANIFEST.MF
index f7cc370..ffd75f3 100644
--- a/bundles/org.eclipse.emf.ecp.view.categorization.swt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.categorization.swt/META-INF/MANIFEST.MF
@@ -28,7 +28,6 @@
  org.eclipse.emfforms.spi.common.report;version="[1.22.0,1.23.0)",
  org.eclipse.emfforms.spi.core.services.databinding;version="[1.22.0,1.23.0)",
  org.eclipse.jface.databinding.swt;version="0.0.0",
- org.eclipse.jface.databinding.swt.typed;version="0.0.0",
  org.eclipse.jface.layout;version="0.0.0",
  org.eclipse.jface.resource;version="0.0.0",
  org.eclipse.jface.viewers;version="0.0.0",
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/spi/categorization/swt/AbstractSWTTabRenderer.java b/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/spi/categorization/swt/AbstractSWTTabRenderer.java
index a4dd9e8..cea82c1 100644
--- a/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/spi/categorization/swt/AbstractSWTTabRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/spi/categorization/swt/AbstractSWTTabRenderer.java
@@ -48,7 +48,7 @@
 import org.eclipse.emfforms.spi.swt.core.layout.GridDescriptionFactory;
 import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
 import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
-import org.eclipse.jface.databinding.swt.typed.WidgetProperties;
+import org.eclipse.jface.databinding.swt.WidgetProperties;
 import org.eclipse.jface.layout.GridDataFactory;
 import org.eclipse.jface.layout.GridLayoutFactory;
 import org.eclipse.swt.SWT;
@@ -147,18 +147,18 @@
 			itemToCompositeMap.put(item, composite);
 
 			final EditingDomain editingDomain = AdapterFactoryEditingDomain.getEditingDomainFor(categorization);
-			final IObservableValue<String> modelLabelValue = EMFEditObservables.observeValue(
+			final IObservableValue modelLabelValue = EMFEditObservables.observeValue(
 				editingDomain,
 				categorization,
 				VViewPackage.eINSTANCE.getElement_Label());
-			final IObservableValue<String> targetLabelValue = WidgetProperties.text().observe(item);
+			final IObservableValue targetLabelValue = WidgetProperties.text().observe(item);
 			dataBindingContext.bindValue(targetLabelValue, modelLabelValue);
 
-			final IObservableValue<String> modelTooltipValue = EMFEditObservables.observeValue(
+			final IObservableValue modelTooltipValue = EMFEditObservables.observeValue(
 				editingDomain,
 				categorization,
 				VViewPackage.eINSTANCE.getHasTooltip_Tooltip());
-			final IObservableValue<String> targetTooltipValue = WidgetProperties.tooltipText().observe(item);
+			final IObservableValue targetTooltipValue = WidgetProperties.tooltipText().observe(item);
 			dataBindingContext.bindValue(targetTooltipValue, modelTooltipValue);
 
 			if (!renderLazy()) {
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/spi/categorization/swt/SWTCategorizationRenderer.java b/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/spi/categorization/swt/SWTCategorizationRenderer.java
index 265a882..8f62918 100644
--- a/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/spi/categorization/swt/SWTCategorizationRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/spi/categorization/swt/SWTCategorizationRenderer.java
@@ -35,7 +35,7 @@
 import org.eclipse.emfforms.spi.swt.core.layout.GridDescriptionFactory;
 import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
 import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
-import org.eclipse.jface.databinding.swt.typed.WidgetProperties;
+import org.eclipse.jface.databinding.swt.WidgetProperties;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
@@ -120,18 +120,18 @@
 		whatToDoLbl.setData(CUSTOM_VARIANT, "org_eclipse_emf_ecp_categorization_message"); //$NON-NLS-1$
 
 		final EditingDomain editingDomain = AdapterFactoryEditingDomain.getEditingDomainFor(getVElement());
-		final IObservableValue<String> modelLabelValue = EMFEditObservables.observeValue(
+		final IObservableValue modelLabelValue = EMFEditObservables.observeValue(
 			editingDomain,
 			getVElement(),
 			VViewPackage.eINSTANCE.getElement_Label());
-		final IObservableValue<String> targetLabelValue = WidgetProperties.text().observe(headingLbl);
+		final IObservableValue targetLabelValue = WidgetProperties.text().observe(headingLbl);
 		dataBindingContext.bindValue(targetLabelValue, modelLabelValue);
 
-		final IObservableValue<String> modelTooltipValue = EMFEditObservables.observeValue(
+		final IObservableValue modelTooltipValue = EMFEditObservables.observeValue(
 			editingDomain,
 			getVElement(),
 			VViewPackage.eINSTANCE.getHasTooltip_Tooltip());
-		final IObservableValue<String> targetTooltipValue = WidgetProperties.tooltipText().observe(headingLbl);
+		final IObservableValue targetTooltipValue = WidgetProperties.tooltipText().observe(headingLbl);
 
 		dataBindingContext.bindValue(targetTooltipValue, modelTooltipValue);
 
diff --git a/bundles/org.eclipse.emf.ecp.view.compoundcontrol.swt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.compoundcontrol.swt/META-INF/MANIFEST.MF
index e1d2c3f..eb8e992 100644
--- a/bundles/org.eclipse.emf.ecp.view.compoundcontrol.swt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.compoundcontrol.swt/META-INF/MANIFEST.MF
@@ -22,7 +22,6 @@
 Import-Package: javax.inject;version="1.0.0",
  org.eclipse.emfforms.spi.common.report;version="[1.22.0,1.23.0)",
  org.eclipse.jface.databinding.swt;version="0.0.0",
- org.eclipse.jface.databinding.swt.typed;version="0.0.0",
  org.eclipse.jface.layout;version="0.0.0",
  org.eclipse.swt;version="0.0.0",
  org.eclipse.swt.graphics;version="0.0.0",
diff --git a/bundles/org.eclipse.emf.ecp.view.compoundcontrol.swt/src/org/eclipse/emf/ecp/view/spi/compoundcontrol/swt/CompoundControlSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.compoundcontrol.swt/src/org/eclipse/emf/ecp/view/spi/compoundcontrol/swt/CompoundControlSWTRenderer.java
index 2293d08..5f0ebdc 100644
--- a/bundles/org.eclipse.emf.ecp.view.compoundcontrol.swt/src/org/eclipse/emf/ecp/view/spi/compoundcontrol/swt/CompoundControlSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.compoundcontrol.swt/src/org/eclipse/emf/ecp/view/spi/compoundcontrol/swt/CompoundControlSWTRenderer.java
@@ -60,7 +60,7 @@
 import org.eclipse.emfforms.spi.swt.core.layout.GridDescriptionFactory;
 import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
 import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
-import org.eclipse.jface.databinding.swt.typed.WidgetProperties;
+import org.eclipse.jface.databinding.swt.WidgetProperties;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
@@ -246,20 +246,20 @@
 			.setElementIdDataWithSubId(label, getVElement(), "control_label", getViewModelContext()); //$NON-NLS-1$
 		label.setBackground(parent.getBackground());
 
-		final IObservableValue<String> textObservable = WidgetProperties.text().observe(label);
-		final Map<IObservableValue<String>, Map.Entry<VControl, EStructuralFeature>> displayNameObservables = getLabelDisplayNameObservables();
+		final IObservableValue textObservable = WidgetProperties.text().observe(label);
+		final Map<IObservableValue, Map.Entry<VControl, EStructuralFeature>> displayNameObservables = getLabelDisplayNameObservables();
 
-		for (final IObservableValue<String> displayNameObservable : displayNameObservables.keySet()) {
+		for (final IObservableValue displayNameObservable : displayNameObservables.keySet()) {
 			getDataBindingContext().bindValue(
 				textObservable,
 				displayNameObservable,
-				new UpdateValueStrategy<String, String>(UpdateValueStrategy.POLICY_NEVER),
+				new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER),
 				new CompoundControlDisplayNameUpdateValueStrategy(displayNameObservables));
 		}
 
-		final IObservableValue<String> tooltipObservable = WidgetProperties.tooltipText().observe(label);
-		final List<IObservableValue<String>> labelDescriptionObservables = getLabelDescriptionObservables();
-		for (final IObservableValue<String> descriptionObservable : labelDescriptionObservables) {
+		final IObservableValue tooltipObservable = WidgetProperties.tooltipText().observe(label);
+		final List<IObservableValue> labelDescriptionObservables = getLabelDescriptionObservables();
+		for (final IObservableValue descriptionObservable : labelDescriptionObservables) {
 			getDataBindingContext().bindValue(
 				tooltipObservable,
 				descriptionObservable,
@@ -283,12 +283,12 @@
 		return label;
 	}
 
-	private Map<IObservableValue<String>, Map.Entry<VControl, EStructuralFeature>> getLabelDisplayNameObservables() {
-		final LinkedHashMap<IObservableValue<String>, Entry<VControl, EStructuralFeature>> displayNames = new LinkedHashMap<IObservableValue<String>, Map.Entry<VControl, EStructuralFeature>>();
+	private Map<IObservableValue, Map.Entry<VControl, EStructuralFeature>> getLabelDisplayNameObservables() {
+		final LinkedHashMap<IObservableValue, Entry<VControl, EStructuralFeature>> displayNames = new LinkedHashMap<IObservableValue, Map.Entry<VControl, EStructuralFeature>>();
 
 		for (final VControl control : getVElement().getControls()) {
 			try {
-				final IObservableValue<String> displayName = labelProvider
+				final IObservableValue displayName = labelProvider
 					.getDisplayName(control.getDomainModelReference(), getViewModelContext().getDomainModel());
 
 				final EStructuralFeature feature = getDatabindingService()
@@ -307,8 +307,8 @@
 		return displayNames;
 	}
 
-	private List<IObservableValue<String>> getLabelDescriptionObservables() {
-		final List<IObservableValue<String>> labelDescriptionObservables = new ArrayList<IObservableValue<String>>();
+	private List<IObservableValue> getLabelDescriptionObservables() {
+		final List<IObservableValue> labelDescriptionObservables = new ArrayList<IObservableValue>();
 		for (final VControl control : getVElement().getControls()) {
 			try {
 				labelDescriptionObservables.add(labelProvider.getDescription(control.getDomainModelReference(),
@@ -551,13 +551,13 @@
 	 *
 	 */
 	private final class CompoundControlDisplayNameUpdateValueStrategy extends EMFUpdateValueStrategy {
-		private final Map<IObservableValue<String>, Entry<VControl, EStructuralFeature>> displayNameObservables;
+		private final Map<IObservableValue, Entry<VControl, EStructuralFeature>> displayNameObservables;
 
 		/**
 		 * @param displayNameObservables
 		 */
 		private CompoundControlDisplayNameUpdateValueStrategy(
-			Map<IObservableValue<String>, Entry<VControl, EStructuralFeature>> displayNameObservables) {
+			Map<IObservableValue, Entry<VControl, EStructuralFeature>> displayNameObservables) {
 			this.displayNameObservables = displayNameObservables;
 		}
 
@@ -565,7 +565,7 @@
 		public Object convert(Object value) {
 			final StringBuilder stringBuilder = new StringBuilder();
 
-			for (final Entry<IObservableValue<String>, Map.Entry<VControl, EStructuralFeature>> obs : displayNameObservables
+			for (final Entry<IObservableValue, Map.Entry<VControl, EStructuralFeature>> obs : displayNameObservables
 				.entrySet()) {
 				if (stringBuilder.length() > 0) {
 					stringBuilder.append(SEPARATOR);
diff --git a/bundles/org.eclipse.emf.ecp.view.control.multireference/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.control.multireference/META-INF/MANIFEST.MF
index d1261de..93eaa96 100644
--- a/bundles/org.eclipse.emf.ecp.view.control.multireference/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.control.multireference/META-INF/MANIFEST.MF
@@ -32,7 +32,6 @@
  org.eclipse.emfforms.spi.common.report;version="[1.22.0,1.23.0)",
  org.eclipse.emfforms.spi.swt.core;version="[1.22.0,1.23.0)",
  org.eclipse.jface.databinding.swt;version="0.0.0",
- org.eclipse.jface.databinding.swt.typed;version="0.0.0",
  org.eclipse.jface.databinding.viewers;version="0.0.0",
  org.eclipse.jface.layout;version="0.0.0",
  org.eclipse.jface.viewers;version="0.0.0",
diff --git a/bundles/org.eclipse.emf.ecp.view.control.multireference/src/org/eclipse/emf/ecp/view/internal/control/multireference/MultiReferenceSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.control.multireference/src/org/eclipse/emf/ecp/view/internal/control/multireference/MultiReferenceSWTRenderer.java
index b7bc6c3..ffcd9d3 100644
--- a/bundles/org.eclipse.emf.ecp.view.control.multireference/src/org/eclipse/emf/ecp/view/internal/control/multireference/MultiReferenceSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.control.multireference/src/org/eclipse/emf/ecp/view/internal/control/multireference/MultiReferenceSWTRenderer.java
@@ -78,7 +78,7 @@
 import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
 import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
 import org.eclipse.emfforms.spi.swt.core.ui.ObjectViewerComparator;
-import org.eclipse.jface.databinding.swt.typed.WidgetProperties;
+import org.eclipse.jface.databinding.swt.WidgetProperties;
 import org.eclipse.jface.databinding.viewers.ObservableListContentProvider;
 import org.eclipse.jface.layout.GridDataFactory;
 import org.eclipse.jface.layout.GridLayoutFactory;
@@ -968,9 +968,8 @@
 			.setStyle(SWT.NONE)
 			.build(tableViewer);
 
-		final IObservableValue<String> textObservableValue = WidgetProperties.text().observe(column.getColumn());
-		final IObservableValue<String> tooltipObservableValue = WidgetProperties.tooltipText()
-			.observe(column.getColumn());
+		final IObservableValue textObservableValue = WidgetProperties.text().observe(column.getColumn());
+		final IObservableValue tooltipObservableValue = WidgetProperties.tooltipText().observe(column.getColumn());
 		try {
 			viewModelDBC.bindValue(textObservableValue,
 				labelService.getDisplayName(getVElement().getDomainModelReference(), getViewModelContext()
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.core.swt/META-INF/MANIFEST.MF
index 5d11810..52e2a0e 100644
--- a/bundles/org.eclipse.emf.ecp.view.core.swt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.core.swt/META-INF/MANIFEST.MF
@@ -32,9 +32,7 @@
  org.eclipse.emfforms.spi.common.locale;version="[1.22.0,1.23.0)",
  org.eclipse.emfforms.spi.common.report;version="[1.22.0,1.23.0)",
  org.eclipse.jface.databinding.swt;version="0.0.0",
- org.eclipse.jface.databinding.swt.typed;version="0.0.0",
  org.eclipse.jface.databinding.viewers;version="0.0.0",
- org.eclipse.jface.databinding.viewers.typed;version="0.0.0",
  org.eclipse.jface.dialogs;version="0.0.0",
  org.eclipse.jface.layout;version="0.0.0",
  org.eclipse.jface.resource;version="0.0.0",
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/BooleanControlSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/BooleanControlSWTRenderer.java
index 3ed84e0..584c94a 100644
--- a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/BooleanControlSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/BooleanControlSWTRenderer.java
@@ -28,7 +28,7 @@
 import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
 import org.eclipse.emfforms.spi.localization.LocalizationServiceHelper;
 import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
-import org.eclipse.jface.databinding.swt.typed.WidgetProperties;
+import org.eclipse.jface.databinding.swt.WidgetProperties;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.widgets.Button;
 import org.eclipse.swt.widgets.Composite;
@@ -58,6 +58,11 @@
 		super(vElement, viewContext, reportService, emfFormsDatabinding, emfFormsLabelProvider, vtViewTemplateProvider);
 	}
 
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTRenderer#createControlCell(int)
+	 */
 	@Override
 	protected SWTGridCell createControlCell(int column) {
 		// checkbox button representing Boolean value can not grow
@@ -69,8 +74,7 @@
 
 	@Override
 	protected Binding[] createBindings(Control control) throws DatabindingFailedException {
-		final Binding binding = getDataBindingContext().bindValue(
-			WidgetProperties.buttonSelection().observe((Button) control),
+		final Binding binding = getDataBindingContext().bindValue(WidgetProperties.selection().observe(control),
 			getModelValue(), withPreSetValidation(new UpdateValueStrategy()), null);
 		return new Binding[] { binding };
 	}
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/DateTimeControlSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/DateTimeControlSWTRenderer.java
index c676152..3670630 100644
--- a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/DateTimeControlSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/DateTimeControlSWTRenderer.java
@@ -52,7 +52,7 @@
 import org.eclipse.emfforms.spi.localization.EMFFormsLocalizationService;
 import org.eclipse.emfforms.spi.swt.core.SWTDataElementIdHelper;
 import org.eclipse.jface.databinding.swt.ISWTObservableValue;
-import org.eclipse.jface.databinding.swt.typed.WidgetProperties;
+import org.eclipse.jface.databinding.swt.WidgetProperties;
 import org.eclipse.jface.dialogs.IDialogLabelKeys;
 import org.eclipse.jface.layout.GridDataFactory;
 import org.eclipse.jface.layout.GridLayoutFactory;
@@ -152,8 +152,8 @@
 
 	@Override
 	protected Binding[] createBindings(Control control) throws DatabindingFailedException {
-		final ISWTObservableValue<Date> dateObserver = WidgetProperties.dateTimeSelection().observe(dateWidget);
-		final ISWTObservableValue<Date> timeObserver = WidgetProperties.dateTimeSelection().observe(timeWidget);
+		final ISWTObservableValue dateObserver = WidgetProperties.selection().observe(dateWidget);
+		final ISWTObservableValue timeObserver = WidgetProperties.selection().observe(timeWidget);
 		final IObservableValue target = new DateAndTimeObservableValue(dateObserver, timeObserver);
 		final Binding binding = getDataBindingContext().bindValue(target, getModelValue(),
 			withPreSetValidation(new UpdateValueStrategy()),
@@ -181,6 +181,11 @@
 		return new Binding[] { binding };
 	}
 
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTRenderer#dispose()
+	 */
 	@Override
 	protected void dispose() {
 		if (dialog != null && !dialog.isDisposed()) {
@@ -357,12 +362,23 @@
 		}
 	}
 
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTControlSWTRenderer#setValidationColor(org.eclipse.swt.widgets.Control,
+	 *      org.eclipse.swt.graphics.Color)
+	 */
 	@Override
 	protected void setValidationColor(Control control, Color validationColor) {
 		((Composite) control).getChildren()[0].setBackground(validationColor);
 		((Composite) control).getChildren()[1].setBackground(validationColor);
 	}
 
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTRenderer#getUnsetText()
+	 */
 	@Override
 	protected String getUnsetText() {
 		final String text = getDateTimeDisplayType() == DateTimeDisplayType.TIME_ONLY
@@ -415,7 +431,7 @@
 			dialog = new Shell(btn.getShell(), SWT.NONE);
 			dialog.setLayout(new GridLayout(1, false));
 			final DateTime calendar = new DateTime(dialog, SWT.CALENDAR | SWT.BORDER);
-			final IObservableValue<Date> calendarObserver = WidgetProperties.dateTimeSelection().observe(calendar);
+			final IObservableValue calendarObserver = WidgetProperties.selection().observe(calendar);
 			final UpdateValueStrategy modelToTarget = new UpdateValueStrategy(UpdateValueStrategy.POLICY_UPDATE);
 
 			final Binding binding = getDataBindingContext().bindValue(calendarObserver, modelValue, modelToTarget,
@@ -432,6 +448,11 @@
 			okButton.setText(JFaceResources.getString(IDialogLabelKeys.OK_LABEL_KEY));
 			GridDataFactory.fillDefaults().align(SWT.END, SWT.CENTER).grab(false, false).applyTo(okButton);
 			okButton.addSelectionListener(new SelectionAdapter() {
+				/**
+				 * {@inheritDoc}
+				 *
+				 * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
+				 */
 				@Override
 				public void widgetSelected(SelectionEvent e) {
 					binding.updateTargetToModel();
@@ -527,6 +548,11 @@
 		return DateTimeDisplayType.TIME_AND_DATE;
 	}
 
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTControlSWTRenderer#rootDomainModelChanged()
+	 */
 	@Override
 	protected void rootDomainModelChanged() throws DatabindingFailedException {
 		super.rootDomainModelChanged();
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/EnumComboViewerSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/EnumComboViewerSWTRenderer.java
index 7ca4dda..ad6534b 100644
--- a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/EnumComboViewerSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/EnumComboViewerSWTRenderer.java
@@ -54,8 +54,9 @@
 import org.eclipse.emfforms.spi.core.services.editsupport.EMFFormsEditSupport;
 import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
 import org.eclipse.emfforms.spi.localization.LocalizationServiceHelper;
-import org.eclipse.jface.databinding.swt.typed.WidgetProperties;
-import org.eclipse.jface.databinding.viewers.typed.ViewerProperties;
+import org.eclipse.jface.databinding.swt.WidgetProperties;
+import org.eclipse.jface.databinding.viewers.ViewerProperties;
+import org.eclipse.jface.databinding.viewers.ViewersObservables;
 import org.eclipse.jface.viewers.ArrayContentProvider;
 import org.eclipse.jface.viewers.ComboViewer;
 import org.eclipse.jface.viewers.LabelProvider;
@@ -99,15 +100,14 @@
 	protected Binding[] createBindings(Viewer viewer) throws DatabindingFailedException {
 		// This binding needs to fire before the value binding so that the value
 		// to be selected exists in the combo's items
-		final IObservableValue<Object> viewerInput = org.eclipse.jface.databinding.viewers.ViewerProperties.input()
-			.observe(viewer);
+		final IObservableValue<?> viewerInput = ViewerProperties.input().observe(viewer);
 		final Binding inputBinding = getDataBindingContext().bindValue(
 			viewerInput,
 			getAvailableChoicesValue());
 
 		final IObservableValue<?> modelValue = getModelValue();
 
-		final Binding binding = getDataBindingContext().bindValue(ViewerProperties.singleSelection().observe(viewer),
+		final Binding binding = getDataBindingContext().bindValue(ViewersObservables.observeSingleSelection(viewer),
 			modelValue);
 
 		pushValue = ISideEffect.create(viewerInput::getValue, input -> {
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/LinkControlSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/LinkControlSWTRenderer.java
index 22b12d4..b672e98 100644
--- a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/LinkControlSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/LinkControlSWTRenderer.java
@@ -51,7 +51,7 @@
 import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
 import org.eclipse.emfforms.spi.core.services.label.NoLabelFoundException;
 import org.eclipse.emfforms.spi.localization.EMFFormsLocalizationService;
-import org.eclipse.jface.databinding.swt.typed.WidgetProperties;
+import org.eclipse.jface.databinding.swt.WidgetProperties;
 import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.jface.layout.GridDataFactory;
 import org.eclipse.jface.layout.GridLayoutFactory;
@@ -147,44 +147,43 @@
 	@Override
 	protected Binding[] createBindings(Control control) throws DatabindingFailedException {
 
-		final IObservableValue<String> value = WidgetProperties.text().observe(hyperlink);
+		final IObservableValue value = WidgetProperties.text().observe(hyperlink);
 		final Binding binding = getDataBindingContext().bindValue(value, getModelValue(),
 			withPreSetValidation(createValueExtractingUpdateStrategy()),
-			new UpdateValueStrategy<Object, String>() {
+			new UpdateValueStrategy() {
 				@Override
-				public String convert(Object value) {
+				public Object convert(Object value) {
 					updateChangeListener((EObject) value);
 					return "<a>" + getText(value) + "</a>"; //$NON-NLS-1$ //$NON-NLS-2$
 				}
 			});
 
-		final IObservableValue<String> tooltipValue = WidgetProperties.tooltipText().observe(hyperlink);
+		final IObservableValue tooltipValue = WidgetProperties.tooltipText().observe(hyperlink);
 		final Binding tooltipBinding = getDataBindingContext().bindValue(tooltipValue, getModelValue(),
 			withPreSetValidation(createValueExtractingUpdateStrategy()),
-			new UpdateValueStrategy<Object, String>() {
+			new UpdateValueStrategy() {
 				@Override
-				public String convert(Object value) {
+				public Object convert(Object value) {
 					return getText(value);
 				}
 			});
 
-		final IObservableValue<Image> imageValue = WidgetProperties.image().observe(imageHyperlink);
+		final IObservableValue imageValue = WidgetProperties.image().observe(imageHyperlink);
 		final Binding imageBinding = getDataBindingContext().bindValue(imageValue, getModelValue(),
 			withPreSetValidation(new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER)),
-			new UpdateValueStrategy<Object, Image>() {
+			new UpdateValueStrategy() {
 				@Override
-				public Image convert(Object value) {
+				public Object convert(Object value) {
 					return getImage(value);
 				}
 			});
 
-		final IObservableValue<Boolean> deleteButtonEnablement = WidgetProperties.enabled()
-			.observe(deleteReferenceButton);
+		final IObservableValue deleteButtonEnablement = WidgetProperties.enabled().observe(deleteReferenceButton);
 		final Binding deleteBinding = getDataBindingContext().bindValue(deleteButtonEnablement, getModelValue(),
 			withPreSetValidation(createValueExtractingUpdateStrategy()),
-			new UpdateValueStrategy<Object, Boolean>() {
+			new UpdateValueStrategy() {
 				@Override
-				public Boolean convert(Object value) {
+				public Object convert(Object value) {
 					return value != null;
 				}
 			});
@@ -259,7 +258,7 @@
 	protected void createButtons(Composite parent) {
 		String elementDisplayName = null;
 		try {
-			elementDisplayName = emfFormsLabelProvider
+			elementDisplayName = (String) emfFormsLabelProvider
 				.getDisplayName(getVElement().getDomainModelReference(), getViewModelContext().getDomainModel())
 				.getValue();
 		} catch (final NoLabelFoundException ex) {
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/NumberControlSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/NumberControlSWTRenderer.java
index f4a22f8..2c918ef 100644
--- a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/NumberControlSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/NumberControlSWTRenderer.java
@@ -97,6 +97,10 @@
 		return SWT.RIGHT;
 	}
 
+	/*
+	 * (non-Javadoc)
+	 * @see org.eclipse.emf.ecp.edit.internal.swt.controls.AbstractTextControl#getTextVariantID()
+	 */
 	@Override
 	protected String getTextVariantID() {
 		return "org_eclipse_emf_ecp_control_numerical"; //$NON-NLS-1$
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/XMLDateControlSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/XMLDateControlSWTRenderer.java
index 2e823ed..5bea36d 100644
--- a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/XMLDateControlSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/XMLDateControlSWTRenderer.java
@@ -55,7 +55,7 @@
 import org.eclipse.emfforms.spi.localization.EMFFormsLocalizationService;
 import org.eclipse.emfforms.spi.localization.LocalizationServiceHelper;
 import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
-import org.eclipse.jface.databinding.swt.typed.WidgetProperties;
+import org.eclipse.jface.databinding.swt.WidgetProperties;
 import org.eclipse.jface.dialogs.IDialogLabelKeys;
 import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.jface.layout.GridDataFactory;
@@ -155,7 +155,7 @@
 			}
 			calendar.setDate(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.get(Calendar.DAY_OF_MONTH));
 
-			final IObservableValue<Date> dateObserver = WidgetProperties.dateTimeSelection().observe(calendar);
+			final IObservableValue dateObserver = WidgetProperties.selection().observe(calendar);
 			final Binding binding = getDataBindingContext().bindValue(dateObserver, modelValue,
 				new DateTargetToModelUpdateStrategy(eStructuralFeature, text),
 				new DateModelToTargetUpdateStrategy(false, true));
@@ -165,6 +165,11 @@
 			okButton.setText(JFaceResources.getString(IDialogLabelKeys.OK_LABEL_KEY));
 			GridDataFactory.fillDefaults().align(SWT.END, SWT.CENTER).grab(false, false).applyTo(okButton);
 			okButton.addSelectionListener(new SelectionAdapter() {
+				/**
+				 * {@inheritDoc}
+				 *
+				 * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
+				 */
 				@Override
 				public void widgetSelected(SelectionEvent e) {
 					binding.updateTargetToModel();
@@ -386,7 +391,7 @@
 		final EStructuralFeature structuralFeature = (EStructuralFeature) getModelValue().getValueType();
 		final Text text = (Text) Composite.class.cast(Composite.class.cast(control).getChildren()[0]).getChildren()[0];
 
-		final IObservableValue<String> value = WidgetProperties.text(SWT.FocusOut).observe(text);
+		final IObservableValue value = WidgetProperties.text(SWT.FocusOut).observe(text);
 
 		final UpdateValueStrategy targetToModelUpdateStrategy = withPreSetValidation(
 			new DateTargetToModelUpdateStrategy(structuralFeature, text));
@@ -401,6 +406,11 @@
 
 		emfFormsLocaleChangeListener = new EMFFormsLocaleChangeListener() {
 
+			/**
+			 * {@inheritDoc}
+			 *
+			 * @see org.eclipse.emfforms.spi.common.locale.EMFFormsLocaleChangeListener#notifyLocaleChange()
+			 */
 			@Override
 			public void notifyLocaleChange() {
 				text.setMessage(getTextMessage());
@@ -423,6 +433,12 @@
 		return df;
 	}
 
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTControlSWTRenderer#setValidationColor(org.eclipse.swt.widgets.Control,
+	 *      org.eclipse.swt.graphics.Color)
+	 */
 	@Override
 	protected void setValidationColor(Control control, Color validationColor) {
 		super.setValidationColor(getControlCompositeFromControl(control), validationColor);
@@ -449,12 +465,22 @@
 		}
 	}
 
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.view.spi.core.swt.renderer.TextControlSWTRenderer#getUnsetText()
+	 */
 	@Override
 	protected String getUnsetText() {
 		return localizationService
 			.getString(getClass(), MessageKeys.XmlDateControlText_NoDateSetClickToSetDate);
 	}
 
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTRenderer#dispose()
+	 */
 	@Override
 	protected void dispose() {
 		if (dialog != null && !dialog.isDisposed()) {
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/spi/core/swt/AbstractControlSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/spi/core/swt/AbstractControlSWTRenderer.java
index 3320a48..7c2a91c 100644
--- a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/spi/core/swt/AbstractControlSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/spi/core/swt/AbstractControlSWTRenderer.java
@@ -52,7 +52,7 @@
 import org.eclipse.emfforms.spi.swt.core.EMFFormsControlProcessorService;
 import org.eclipse.emfforms.spi.swt.core.SWTDataElementIdHelper;
 import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
-import org.eclipse.jface.databinding.swt.typed.WidgetProperties;
+import org.eclipse.jface.databinding.swt.WidgetProperties;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.graphics.Color;
 import org.eclipse.swt.graphics.Image;
@@ -255,7 +255,7 @@
 	 * </p>
 	 *
 	 * @return
-	 *         {@code true} if the Control SWT renderer can handle the {@link EMFFormsControlProcessorService} itself,
+	 * 		{@code true} if the Control SWT renderer can handle the {@link EMFFormsControlProcessorService} itself,
 	 *         {@code false} otherwise.
 	 * @since 1.8
 	 */
@@ -447,30 +447,31 @@
 
 			final EObject rootObject = getViewModelContext().getDomainModel();
 			try {
-				final IObservableValue<String> textObservable = WidgetProperties.text().observe(label);
-				final IObservableValue<String> displayNameObservable = labelProvider.getDisplayName(
-					domainModelReference,
+				final IObservableValue textObservable = WidgetProperties.text().observe(label);
+				final IObservableValue displayNameObservable = labelProvider.getDisplayName(domainModelReference,
 					rootObject);
-				viewModelDBC.bindValue(textObservable, displayNameObservable, null,
-					new UpdateValueStrategy<String, String>() {
+				viewModelDBC.bindValue(textObservable, displayNameObservable, null, new UpdateValueStrategy() {
 
-						@Override
-						public String convert(String value) {
-							String extra = ""; //$NON-NLS-1$
-							final VTMandatoryStyleProperty mandatoryStyle = getMandatoryStyle();
-							final EStructuralFeature structuralFeature = (EStructuralFeature) valueProperty
-								.getValueType();
-							if (mandatoryStyle.isHighliteMandatoryFields() && structuralFeature.getLowerBound() > 0) {
-								extra = mandatoryStyle.getMandatoryMarker();
-							}
-							final String result = super.convert(value);
-							return result + extra;
+					/**
+					 * {@inheritDoc}
+					 *
+					 * @see org.eclipse.core.databinding.UpdateValueStrategy#convert(java.lang.Object)
+					 */
+					@Override
+					public Object convert(Object value) {
+						String extra = ""; //$NON-NLS-1$
+						final VTMandatoryStyleProperty mandatoryStyle = getMandatoryStyle();
+						final EStructuralFeature structuralFeature = (EStructuralFeature) valueProperty.getValueType();
+						if (mandatoryStyle.isHighliteMandatoryFields() && structuralFeature.getLowerBound() > 0) {
+							extra = mandatoryStyle.getMandatoryMarker();
 						}
+						final String result = (String) super.convert(value);
+						return result + extra;
+					}
 
-					});
-				final IObservableValue<String> tooltipObservable = WidgetProperties.tooltipText().observe(label);
-				final IObservableValue<String> descriptionObservable = labelProvider.getDescription(
-					domainModelReference,
+				});
+				final IObservableValue tooltipObservable = WidgetProperties.tooltipText().observe(label);
+				final IObservableValue descriptionObservable = labelProvider.getDescription(domainModelReference,
 					rootObject);
 				viewModelDBC.bindValue(tooltipObservable, descriptionObservable);
 			} catch (final NoLabelFoundException e) {
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/spi/core/swt/renderer/TextControlSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/spi/core/swt/renderer/TextControlSWTRenderer.java
index 34d45c4..8bbb8d5 100644
--- a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/spi/core/swt/renderer/TextControlSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/spi/core/swt/renderer/TextControlSWTRenderer.java
@@ -61,7 +61,7 @@
 import org.eclipse.emfforms.spi.swt.core.SWTDataElementIdHelper;
 import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
 import org.eclipse.emfforms.swt.core.EMFFormsSWTConstants;
-import org.eclipse.jface.databinding.swt.typed.WidgetProperties;
+import org.eclipse.jface.databinding.swt.WidgetProperties;
 import org.eclipse.jface.layout.GridDataFactory;
 import org.eclipse.jface.layout.GridLayoutFactory;
 import org.eclipse.swt.SWT;
@@ -199,7 +199,7 @@
 	 */
 	protected String getTextMessage() {
 		try {
-			return getEMFFormsLabelProvider()
+			return (String) getEMFFormsLabelProvider()
 				.getDisplayName(getVElement().getDomainModelReference(), getViewModelContext().getDomainModel())
 				.getValue();
 		} catch (final NoLabelFoundException ex) {
@@ -223,7 +223,7 @@
 		UpdateValueStrategy targetToModel, UpdateValueStrategy modelToTarget) {
 		final Control controlToObserve = Composite.class.cast(text).getChildren()[0];
 		final boolean useOnModifyDatabinding = useOnModifyDatabinding();
-		final IObservableValue<String> value;
+		final IObservableValue value;
 		if (useOnModifyDatabinding) {
 			value = WidgetProperties.text(SWT.Modify).observeDelayed(250, controlToObserve);
 		} else {
@@ -264,7 +264,7 @@
 	 */
 	protected Binding createTooltipBinding(Control text, IObservableValue modelValue,
 		DataBindingContext dataBindingContext, UpdateValueStrategy targetToModel, UpdateValueStrategy modelToTarget) {
-		final IObservableValue<String> toolTip = WidgetProperties.tooltipText().observe(text);
+		final IObservableValue toolTip = WidgetProperties.tooltipText().observe(text);
 		return dataBindingContext.bindValue(toolTip, modelValue, targetToModel, modelToTarget);
 	}
 
@@ -407,6 +407,10 @@
 	 */
 	class EMFUpdateConvertValueStrategy extends EMFUpdateValueStrategy {
 
+		/*
+		 * (non-Javadoc)
+		 * @see org.eclipse.core.databinding.UpdateValueStrategy#convert(java.lang.Object)
+		 */
 		@Override
 		public Object convert(Object value) {
 			return convertValue(value);
@@ -488,6 +492,9 @@
 
 		}
 
+		/**
+		 * {@inheritDoc}
+		 */
 		@Override
 		public Object convert(Object value) {
 			try {
@@ -506,6 +513,11 @@
 		}
 	}
 
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTRenderer#getUnsetText()
+	 */
 	@Override
 	protected String getUnsetText() {
 		return LocalizationServiceHelper
diff --git a/bundles/org.eclipse.emf.ecp.view.custom.ui.swt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.custom.ui.swt/META-INF/MANIFEST.MF
index 4614709..3655958 100644
--- a/bundles/org.eclipse.emf.ecp.view.custom.ui.swt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.custom.ui.swt/META-INF/MANIFEST.MF
@@ -23,7 +23,6 @@
 Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.22.0,1.23.0)",
  org.eclipse.emfforms.spi.swt.core;version="[1.22.0,1.23.0)",
  org.eclipse.jface.databinding.swt;version="0.0.0",
- org.eclipse.jface.databinding.swt.typed;version="0.0.0",
  org.eclipse.jface.databinding.viewers;version="0.0.0",
  org.eclipse.jface.dialogs;version="0.0.0",
  org.eclipse.jface.layout;version="0.0.0",
diff --git a/bundles/org.eclipse.emf.ecp.view.custom.ui.swt/src/org/eclipse/emf/ecp/view/spi/custom/swt/ECPAbstractCustomControlSWT.java b/bundles/org.eclipse.emf.ecp.view.custom.ui.swt/src/org/eclipse/emf/ecp/view/spi/custom/swt/ECPAbstractCustomControlSWT.java
index 602cd42..07bf363 100644
--- a/bundles/org.eclipse.emf.ecp.view.custom.ui.swt/src/org/eclipse/emf/ecp/view/spi/custom/swt/ECPAbstractCustomControlSWT.java
+++ b/bundles/org.eclipse.emf.ecp.view.custom.ui.swt/src/org/eclipse/emf/ecp/view/spi/custom/swt/ECPAbstractCustomControlSWT.java
@@ -72,7 +72,7 @@
 import org.eclipse.emfforms.spi.swt.core.layout.GridDescriptionFactory;
 import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
 import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
-import org.eclipse.jface.databinding.swt.typed.WidgetProperties;
+import org.eclipse.jface.databinding.swt.WidgetProperties;
 import org.eclipse.jface.databinding.viewers.ViewerSupport;
 import org.eclipse.jface.viewers.StructuredViewer;
 import org.eclipse.swt.SWT;
@@ -364,11 +364,16 @@
 					getViewModelContext().getService(EMFFormsLabelProvider.class)
 						.getDisplayName(getCustomControl().getDomainModelReference(),
 							getViewModelContext().getDomainModel()),
-					null, new UpdateValueStrategy<String, String>() {
+					null, new UpdateValueStrategy() {
 
+						/**
+						 * {@inheritDoc}
+						 *
+						 * @see org.eclipse.core.databinding.UpdateValueStrategy#convert(java.lang.Object)
+						 */
 						@Override
-						public String convert(String value) {
-							final String labelText = super.convert(value);
+						public Object convert(Object value) {
+							final String labelText = (String) super.convert(value);
 							String extra = ""; //$NON-NLS-1$
 							if (structuralFeature.getLowerBound() > 0) {
 								extra = "*"; //$NON-NLS-1$
@@ -829,7 +834,7 @@
 	 * </p>
 	 *
 	 * @return
-	 *         {@code true} if the custom control can handle the
+	 * 		{@code true} if the custom control can handle the
 	 *         {@link org.eclipse.emfforms.spi.swt.core.EMFFormsControlProcessorService EMFFormsControlProcessorService}
 	 *         itself, {@code false} otherwise.
 	 * @since 1.8
diff --git a/bundles/org.eclipse.emf.ecp.view.group.swt.collapsable/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsable/META-INF/MANIFEST.MF
index cc4f8ec..d8b4367 100644
--- a/bundles/org.eclipse.emf.ecp.view.group.swt.collapsable/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsable/META-INF/MANIFEST.MF
@@ -22,7 +22,6 @@
  org.eclipse.emfforms.spi.common.report;version="[1.22.0,1.23.0)",
  org.eclipse.emfforms.spi.core.services.databinding;version="[1.22.0,1.23.0)",
  org.eclipse.jface.databinding.swt;version="0.0.0",
- org.eclipse.jface.databinding.swt.typed;version="0.0.0",
  org.eclipse.jface.layout;version="0.0.0",
  org.eclipse.swt;version="0.0.0",
  org.eclipse.swt.events;version="0.0.0",
diff --git a/bundles/org.eclipse.emf.ecp.view.group.swt.collapsable/src/org/eclipse/emf/ecp/view/group/swt/internal/collapsable/CollapsableGroupSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsable/src/org/eclipse/emf/ecp/view/group/swt/internal/collapsable/CollapsableGroupSWTRenderer.java
index 89f4a7a..d9e67b4 100644
--- a/bundles/org.eclipse.emf.ecp.view.group.swt.collapsable/src/org/eclipse/emf/ecp/view/group/swt/internal/collapsable/CollapsableGroupSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsable/src/org/eclipse/emf/ecp/view/group/swt/internal/collapsable/CollapsableGroupSWTRenderer.java
@@ -32,7 +32,7 @@
 import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
 import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
 import org.eclipse.jface.databinding.swt.ISWTObservableValue;
-import org.eclipse.jface.databinding.swt.typed.WidgetProperties;
+import org.eclipse.jface.databinding.swt.WidgetProperties;
 import org.eclipse.jface.layout.GridDataFactory;
 import org.eclipse.jface.layout.GridLayoutFactory;
 import org.eclipse.jface.resource.FontDescriptor;
@@ -88,6 +88,12 @@
 		return rendererGridDescription;
 	}
 
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.view.spi.core.swt.ContainerSWTRenderer#renderControl(org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell,
+	 *      org.eclipse.swt.widgets.Composite)
+	 */
 	@Override
 	protected Control renderControl(SWTGridCell gridCell, final Composite parent) throws NoRendererFoundException,
 		NoPropertyDescriptorFoundExeption {
@@ -104,7 +110,7 @@
 		final Font boldFont = boldDescriptor.createFont(bar.getDisplay());
 		bar.setFont(boldFont);
 
-		final ISWTObservableValue<String> target = WidgetProperties.text().observe(item0);
+		final ISWTObservableValue target = WidgetProperties.text().observe(item0);
 		final IObservableValue modelValue = EMFEditObservables.observeValue(
 			AdapterFactoryEditingDomain.getEditingDomainFor(getVElement()), getVElement(),
 			VViewPackage.eINSTANCE.getElement_Label());
diff --git a/bundles/org.eclipse.emf.ecp.view.group.swt.embedded/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.group.swt.embedded/META-INF/MANIFEST.MF
index 58f677e..c017f37 100644
--- a/bundles/org.eclipse.emf.ecp.view.group.swt.embedded/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.group.swt.embedded/META-INF/MANIFEST.MF
@@ -19,7 +19,6 @@
  org.eclipse.core.runtime;version="3.4.0",
  org.eclipse.emfforms.spi.common.report;version="[1.22.0,1.23.0)",
  org.eclipse.jface.databinding.swt;version="0.0.0",
- org.eclipse.jface.databinding.swt.typed;version="0.0.0",
  org.eclipse.swt;version="0.0.0",
  org.eclipse.swt.widgets;version="0.0.0",
  org.osgi.framework;version="1.6.0"
diff --git a/bundles/org.eclipse.emf.ecp.view.group.swt.embedded/src/org/eclipse/emf/ecp/view/alignmentgroup/internal/swt/EmbeddedGroupSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.group.swt.embedded/src/org/eclipse/emf/ecp/view/alignmentgroup/internal/swt/EmbeddedGroupSWTRenderer.java
index 20434be..9f41d6c 100644
--- a/bundles/org.eclipse.emf.ecp.view.group.swt.embedded/src/org/eclipse/emf/ecp/view/alignmentgroup/internal/swt/EmbeddedGroupSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.group.swt.embedded/src/org/eclipse/emf/ecp/view/alignmentgroup/internal/swt/EmbeddedGroupSWTRenderer.java
@@ -44,7 +44,7 @@
 import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
 import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
 import org.eclipse.jface.databinding.swt.ISWTObservableValue;
-import org.eclipse.jface.databinding.swt.typed.WidgetProperties;
+import org.eclipse.jface.databinding.swt.WidgetProperties;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
@@ -148,6 +148,12 @@
 		return currentGridDescription;
 	}
 
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#renderControl(org.eclipse.emfforms.spi.swt.core.layout.GridCell,
+	 *      org.eclipse.swt.widgets.Composite)
+	 */
 	@Override
 	protected Control renderControl(SWTGridCell cell, Composite parent) throws NoRendererFoundException,
 		NoPropertyDescriptorFoundExeption {
@@ -189,7 +195,7 @@
 
 	/** Creates a binding that synchronizes the value of the target {@link Label} with the model value. */
 	private void bindValue(Control target) {
-		final ISWTObservableValue<String> targetValue = WidgetProperties.text().observe(target);
+		final ISWTObservableValue targetValue = WidgetProperties.text().observe(target);
 		final IObservableValue modelValue = EMFEditObservables.observeValue(
 			AdapterFactoryEditingDomain.getEditingDomainFor(getVElement()), getVElement(),
 			VViewPackage.eINSTANCE.getElement_Label());
diff --git a/bundles/org.eclipse.emf.ecp.view.group.ui.swt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.group.ui.swt/META-INF/MANIFEST.MF
index 3c7b790..5b4f901 100644
--- a/bundles/org.eclipse.emf.ecp.view.group.ui.swt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.group.ui.swt/META-INF/MANIFEST.MF
@@ -24,7 +24,6 @@
  org.eclipse.emfforms.spi.common.report;version="[1.22.0,1.23.0)",
  org.eclipse.emfforms.spi.core.services.databinding;version="[1.22.0,1.23.0)",
  org.eclipse.jface.databinding.swt;version="0.0.0",
- org.eclipse.jface.databinding.swt.typed;version="0.0.0",
  org.eclipse.jface.layout;version="0.0.0",
  org.eclipse.swt;version="0.0.0",
  org.eclipse.swt.graphics;version="0.0.0",
diff --git a/bundles/org.eclipse.emf.ecp.view.group.ui.swt/src/org/eclipse/emf/ecp/view/spi/group/swt/GroupSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.group.ui.swt/src/org/eclipse/emf/ecp/view/spi/group/swt/GroupSWTRenderer.java
index 5218dea..ff8b8a9 100644
--- a/bundles/org.eclipse.emf.ecp.view.group.ui.swt/src/org/eclipse/emf/ecp/view/spi/group/swt/GroupSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.group.ui.swt/src/org/eclipse/emf/ecp/view/spi/group/swt/GroupSWTRenderer.java
@@ -28,13 +28,14 @@
 import org.eclipse.emf.ecp.view.spi.swt.layout.LayoutProviderHelper;
 import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
 import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emfforms.internal.group.swt.GroupTextProperty;
 import org.eclipse.emfforms.spi.common.report.ReportService;
 import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory;
 import org.eclipse.emfforms.spi.swt.core.layout.GridDescriptionFactory;
 import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
 import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
 import org.eclipse.jface.databinding.swt.ISWTObservableValue;
-import org.eclipse.jface.databinding.swt.typed.WidgetProperties;
+import org.eclipse.jface.databinding.swt.WidgetProperties;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.graphics.Point;
 import org.eclipse.swt.widgets.Composite;
@@ -69,32 +70,50 @@
 	private final EMFDataBindingContext dbc;
 	private SWTGridDescription rendererGridDescription;
 
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.view.spi.core.swt.ContainerSWTRenderer#getCustomVariant()
+	 */
 	@Override
 	protected String getCustomVariant() {
 		return CONTROL_GROUP;
 	}
 
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.view.spi.core.swt.ContainerSWTRenderer#getChildren()
+	 */
+
 	@Override
 	protected Collection<VContainedElement> getChildren() {
 		return getVElement().getChildren();
 	}
 
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.view.spi.core.swt.ContainerSWTRenderer#getComposite(org.eclipse.swt.widgets.Composite)
+	 */
 	@Override
 	protected Composite getComposite(Composite parent) {
 		final Group group = new Group(parent, SWT.TITLE);
 		final EditingDomain editingDomain = AdapterFactoryEditingDomain.getEditingDomainFor(getVElement());
-		final IObservableValue<String> modelLabelValue = EMFEditObservables.observeValue(
+		final IObservableValue modelLabelValue = EMFEditObservables.observeValue(
 			editingDomain,
 			getVElement(),
 			VViewPackage.eINSTANCE.getElement_Label());
-		final IObservableValue<String> targetLabelValue = WidgetProperties.text().observe(group);
+		final IObservableValue targetLabelValue = new GroupTextProperty().observe(group);
+		// FIXME fixed with JFace-Databinding 4.5
+		// final IObservableValue targetValue = SWTObservables.observeText(group);
 		dbc.bindValue(targetLabelValue, modelLabelValue);
 
-		final IObservableValue<String> modelTooltipValue = EMFEditObservables.observeValue(
+		final IObservableValue modelTooltipValue = EMFEditObservables.observeValue(
 			editingDomain,
 			getVElement(),
 			VViewPackage.eINSTANCE.getHasTooltip_Tooltip());
-		final ISWTObservableValue<String> targetTooltipValue = WidgetProperties.tooltipText().observe(group);
+		final ISWTObservableValue targetTooltipValue = WidgetProperties.tooltipText().observe(group);
 		dbc.bindValue(targetTooltipValue, modelTooltipValue);
 
 		return group;
@@ -116,6 +135,11 @@
 		return rendererGridDescription;
 	}
 
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.view.spi.core.swt.ContainerSWTRenderer#dispose()
+	 */
 	@Override
 	protected void dispose() {
 		dbc.dispose();
diff --git a/bundles/org.eclipse.emf.ecp.view.label.ui.swt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.label.ui.swt/META-INF/MANIFEST.MF
index c4002f1..1d01403 100644
--- a/bundles/org.eclipse.emf.ecp.view.label.ui.swt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.label.ui.swt/META-INF/MANIFEST.MF
@@ -23,7 +23,6 @@
  org.eclipse.emfforms.spi.common.report;version="[1.22.0,1.23.0)",
  org.eclipse.emfforms.spi.core.services.databinding;version="[1.22.0,1.23.0)",
  org.eclipse.jface.databinding.swt;version="0.0.0",
- org.eclipse.jface.databinding.swt.typed;version="0.0.0",
  org.eclipse.jface.layout;version="0.0.0",
  org.eclipse.swt;version="0.0.0",
  org.eclipse.swt.events;version="0.0.0",
diff --git a/bundles/org.eclipse.emf.ecp.view.label.ui.swt/src/org/eclipse/emf/ecp/view/spi/label/swt/LabelSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.label.ui.swt/src/org/eclipse/emf/ecp/view/spi/label/swt/LabelSWTRenderer.java
index d1eee19..c59645d 100644
--- a/bundles/org.eclipse.emf.ecp.view.label.ui.swt/src/org/eclipse/emf/ecp/view/spi/label/swt/LabelSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.label.ui.swt/src/org/eclipse/emf/ecp/view/spi/label/swt/LabelSWTRenderer.java
@@ -44,7 +44,7 @@
 import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
 import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
 import org.eclipse.jface.databinding.swt.ISWTObservableValue;
-import org.eclipse.jface.databinding.swt.typed.WidgetProperties;
+import org.eclipse.jface.databinding.swt.WidgetProperties;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.DisposeEvent;
 import org.eclipse.swt.events.DisposeListener;
@@ -94,6 +94,11 @@
 	private Composite parent;
 	private EMFDataBindingContext dataBindingContext;
 
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#dispose()
+	 */
 	@Override
 	protected void dispose() {
 		rendererGridDescription = null;
@@ -111,6 +116,11 @@
 		super.dispose();
 	}
 
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#getGridDescription(SWTGridDescription)
+	 */
 	@Override
 	public SWTGridDescription getGridDescription(SWTGridDescription gridDescription) {
 		if (rendererGridDescription == null) {
@@ -145,7 +155,7 @@
 				final IObservableValue observableValue = emfFormsDatabinding
 					.getObservableValue(getVElement().getDomainModelReference(),
 						getViewModelContext().getDomainModel());
-				final ISWTObservableValue<String> observeText = WidgetProperties.text().observe(label);
+				final ISWTObservableValue observeText = WidgetProperties.text().observe(label);
 				final Binding binding = getDataBindingContext().bindValue(observeText, observableValue);
 
 				label.addDisposeListener(new DisposeListener() {
@@ -162,7 +172,7 @@
 			final IObservableValue modelValue = EMFEditObservables.observeValue(
 				AdapterFactoryEditingDomain.getEditingDomainFor(getVElement()), getVElement(),
 				VViewPackage.eINSTANCE.getElement_Label());
-			final IObservableValue<String> targetValue = WidgetProperties.text().observe(label);
+			final IObservableValue targetValue = WidgetProperties.text().observe(label);
 
 			dbc.bindValue(targetValue, modelValue);
 		}
diff --git a/bundles/org.eclipse.emf.ecp.view.model.preview.e3/src/org/eclipse/emf/ecp/view/model/internal/preview/e3/views/PreviewView.java b/bundles/org.eclipse.emf.ecp.view.model.preview.e3/src/org/eclipse/emf/ecp/view/model/internal/preview/e3/views/PreviewView.java
index 37a77bd..0238e34 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.preview.e3/src/org/eclipse/emf/ecp/view/model/internal/preview/e3/views/PreviewView.java
+++ b/bundles/org.eclipse.emf.ecp.view.model.preview.e3/src/org/eclipse/emf/ecp/view/model/internal/preview/e3/views/PreviewView.java
@@ -384,7 +384,7 @@
 		final ImageDescriptor imageDescriptor = ImageDescriptor.createFromURL(Activator.getDefault()
 			.getBundle()
 			.getResource("icons/preview.png")); //$NON-NLS-1$
-		titleImage.setImage(new Image(parent.getDisplay(), imageDescriptor.getImageData(100)));
+		titleImage.setImage(new Image(parent.getDisplay(), imageDescriptor.getImageData()));
 		final FormData titleImageData = new FormData();
 		final int imageOffset = -titleImage.computeSize(SWT.DEFAULT, SWT.DEFAULT).y / 2;
 		titleImageData.top = new FormAttachment(50, imageOffset);
diff --git a/bundles/org.eclipse.emf.ecp.view.section.ui.swt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.section.ui.swt/META-INF/MANIFEST.MF
index c6489cf..13bda5d 100644
--- a/bundles/org.eclipse.emf.ecp.view.section.ui.swt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.section.ui.swt/META-INF/MANIFEST.MF
@@ -24,7 +24,6 @@
 Import-Package: javax.inject;version="1.0.0",
  org.eclipse.emfforms.spi.common.report;version="[1.22.0,1.23.0)",
  org.eclipse.jface.databinding.swt;version="0.0.0",
- org.eclipse.jface.databinding.swt.typed;version="0.0.0",
  org.eclipse.jface.layout;version="0.0.0",
  org.eclipse.swt;version="0.0.0",
  org.eclipse.swt.graphics;version="0.0.0",
diff --git a/bundles/org.eclipse.emf.ecp.view.section.ui.swt/src/org/eclipse/emf/ecp/view/spi/section/swt/SectionLeafSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.section.ui.swt/src/org/eclipse/emf/ecp/view/spi/section/swt/SectionLeafSWTRenderer.java
index acbae1a..ab5f4bc 100644
--- a/bundles/org.eclipse.emf.ecp.view.section.ui.swt/src/org/eclipse/emf/ecp/view/spi/section/swt/SectionLeafSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.section.ui.swt/src/org/eclipse/emf/ecp/view/spi/section/swt/SectionLeafSWTRenderer.java
@@ -28,7 +28,7 @@
 import org.eclipse.emfforms.spi.common.report.ReportService;
 import org.eclipse.emfforms.spi.swt.core.layout.GridDescriptionFactory;
 import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
-import org.eclipse.jface.databinding.swt.typed.WidgetProperties;
+import org.eclipse.jface.databinding.swt.WidgetProperties;
 import org.eclipse.jface.layout.GridDataFactory;
 import org.eclipse.jface.layout.GridLayoutFactory;
 import org.eclipse.swt.SWT;
@@ -85,22 +85,22 @@
 		final EditingDomain editingDomain = AdapterFactoryEditingDomain.getEditingDomainFor(getVElement());
 		final Label label = new Label(composite, getLabelStyleBits());
 
-		final IObservableValue<String> modelLabelValue = EMFEditObservables.observeValue(
+		final IObservableValue modelLabelValue = EMFEditObservables.observeValue(
 			editingDomain,
 			getVElement(),
 			VViewPackage.eINSTANCE.getElement_Label());
 
-		final IObservableValue<String> textObservable = WidgetProperties.text().observe(label);
+		final IObservableValue textObservable = WidgetProperties.text().observe(label);
 
 		getDataBindingContext().bindValue(textObservable, modelLabelValue);
 
 		GridDataFactory.fillDefaults().grab(true, false).applyTo(label);
 
-		final IObservableValue<String> modelTooltipValue = EMFEditObservables.observeValue(
+		final IObservableValue modelTooltipValue = EMFEditObservables.observeValue(
 			editingDomain,
 			getVElement(),
 			VViewPackage.eINSTANCE.getHasTooltip_Tooltip());
-		final IObservableValue<String> targetTooltipValue = WidgetProperties.tooltipText().observe(label);
+		final IObservableValue targetTooltipValue = WidgetProperties.tooltipText().observe(label);
 		getDataBindingContext().bindValue(targetTooltipValue, modelTooltipValue);
 
 		return composite;
@@ -118,6 +118,12 @@
 			getViewModelContext());
 	}
 
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.view.spi.section.swt.AbstractSectionSWTRenderer#initCollapseState()
+	 * @since 1.6
+	 */
 	@Override
 	protected void initCollapseState() {
 		// no children -> empty
diff --git a/bundles/org.eclipse.emf.ecp.view.section.ui.swt/src/org/eclipse/emf/ecp/view/spi/section/swt/SectionNodeSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.section.ui.swt/src/org/eclipse/emf/ecp/view/spi/section/swt/SectionNodeSWTRenderer.java
index b025861..c79d231 100644
--- a/bundles/org.eclipse.emf.ecp.view.section.ui.swt/src/org/eclipse/emf/ecp/view/spi/section/swt/SectionNodeSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.section.ui.swt/src/org/eclipse/emf/ecp/view/spi/section/swt/SectionNodeSWTRenderer.java
@@ -21,8 +21,9 @@
 
 import javax.inject.Inject;
 
-import org.eclipse.core.databinding.beans.typed.PojoProperties;
+import org.eclipse.core.databinding.beans.PojoProperties;
 import org.eclipse.core.databinding.observable.value.IObservableValue;
+import org.eclipse.core.databinding.observable.value.WritableValue;
 import org.eclipse.emf.databinding.edit.EMFEditObservables;
 import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
 import org.eclipse.emf.ecp.view.spi.model.ModelChangeListener;
@@ -263,24 +264,24 @@
 		getExpandableComposite().setExpanded(!getVElement().isCollapsed());
 		final EditingDomain editingDomain = AdapterFactoryEditingDomain.getEditingDomainFor(getVElement());
 
-		final IObservableValue<String> modelLabelValue = EMFEditObservables.observeValue(
+		final IObservableValue modelLabelValue = EMFEditObservables.observeValue(
 			editingDomain,
 			getVElement(),
 			VViewPackage.eINSTANCE.getElement_Label());
 		final String text = "text"; //$NON-NLS-1$
-		final IObservableValue<String> textObservable = PojoProperties
-			.value(ExpandableComposite.class, text, String.class)
+		final WritableValue value = new WritableValue(text, String.class);
+		final IObservableValue textObservable = PojoProperties.value(ExpandableComposite.class, text, String.class)
 			.observe(expandableComposite);
 
 		getDataBindingContext().bindValue(textObservable, modelLabelValue);
 
 		initExpandableComposite(getExpandableComposite());
 
-		final IObservableValue<String> modelTooltipValue = EMFEditObservables.observeValue(
+		final IObservableValue modelTooltipValue = EMFEditObservables.observeValue(
 			editingDomain,
 			getVElement(),
 			VViewPackage.eINSTANCE.getHasTooltip_Tooltip());
-		final IObservableValue<String> targetTooltipValue = new ExpandableCompositeTooltipProperty()
+		final IObservableValue targetTooltipValue = new ExpandableCompositeTooltipProperty()
 			.observe(getExpandableComposite());
 		getDataBindingContext().bindValue(targetTooltipValue, modelTooltipValue);
 
diff --git a/bundles/org.eclipse.emf.ecp.view.stack.viewmodel/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.emf.ecp.view.stack.viewmodel/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..0c68a61
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.stack.viewmodel/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/bundles/org.eclipse.emf.ecp.view.table.ui.nebula.grid.rap/src/org/eclipse/emf/ecp/view/spi/table/nebula/grid/rap/RAPGridControlSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.table.ui.nebula.grid.rap/src/org/eclipse/emf/ecp/view/spi/table/nebula/grid/rap/RAPGridControlSWTRenderer.java
index 08ac275..4f09274 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.ui.nebula.grid.rap/src/org/eclipse/emf/ecp/view/spi/table/nebula/grid/rap/RAPGridControlSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.table.ui.nebula.grid.rap/src/org/eclipse/emf/ecp/view/spi/table/nebula/grid/rap/RAPGridControlSWTRenderer.java
@@ -183,8 +183,7 @@
 	@Override
 	// CHECKSTYLE.OFF: ParameterNumber
 	protected TableViewerSWTBuilder createTableViewerSWTBuilder(Composite parent, IObservableList list,
-		IObservableValue<String> labelText, IObservableValue<String> labelTooltipText,
-		TableViewerCompositeBuilder compositeBuilder,
+		IObservableValue labelText, IObservableValue labelTooltipText, TableViewerCompositeBuilder compositeBuilder,
 		ObservableListContentProvider cp, ECPTableViewerComparator comparator,
 		TableActionBar<? extends AbstractTableViewer> actionBar) {
 		// CHECKSTYLE.ON: ParameterNumber
diff --git a/bundles/org.eclipse.emf.ecp.view.table.ui.nebula.grid/src/org/eclipse/emf/ecp/view/spi/table/nebula/grid/GridControlSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.table.ui.nebula.grid/src/org/eclipse/emf/ecp/view/spi/table/nebula/grid/GridControlSWTRenderer.java
index 52f6e11..a2e22a8 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.ui.nebula.grid/src/org/eclipse/emf/ecp/view/spi/table/nebula/grid/GridControlSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.table.ui.nebula.grid/src/org/eclipse/emf/ecp/view/spi/table/nebula/grid/GridControlSWTRenderer.java
@@ -323,7 +323,7 @@
 			tableViewer.getGrid().setFooterVisible(false);
 
 			addKeyListener(tableViewer);
-			if (getViewModelContext().getContextValue("enableMultiEdit") == Boolean.TRUE) { //$NON-NLS-1$
+			if (getViewModelContext().getContextValue("enableMultiEdit") == Boolean.TRUE) {
 				final CopyDragListener mdl = new CopyDragListener();
 				tableViewer.addSelectionChangedListener(mdl);
 				tableViewer.getGrid().addMouseMoveListener(mdl);
@@ -400,8 +400,7 @@
 	@Override
 	// CHECKSTYLE.OFF: ParameterNumber
 	protected TableViewerSWTBuilder createTableViewerSWTBuilder(Composite parent, IObservableList list,
-		IObservableValue<String> labelText, IObservableValue<String> labelTooltipText,
-		TableViewerCompositeBuilder compositeBuilder,
+		IObservableValue labelText, IObservableValue labelTooltipText, TableViewerCompositeBuilder compositeBuilder,
 		ObservableListContentProvider cp, ViewerComparator comparator,
 		TableActionBar<? extends AbstractTableViewer> actionBar) {
 		// CHECKSTYLE.ON: ParameterNumber
diff --git a/bundles/org.eclipse.emf.ecp.view.table.ui.nebula.grid/src/org/eclipse/emf/ecp/view/spi/table/nebula/grid/GridTableViewerComposite.java b/bundles/org.eclipse.emf.ecp.view.table.ui.nebula.grid/src/org/eclipse/emf/ecp/view/spi/table/nebula/grid/GridTableViewerComposite.java
index 1ff9049..957f5f7 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.ui.nebula.grid/src/org/eclipse/emf/ecp/view/spi/table/nebula/grid/GridTableViewerComposite.java
+++ b/bundles/org.eclipse.emf.ecp.view.table.ui.nebula.grid/src/org/eclipse/emf/ecp/view/spi/table/nebula/grid/GridTableViewerComposite.java
@@ -120,7 +120,7 @@
 	 */
 	public GridTableViewerComposite(Composite parent, int style, Object inputObject,
 		TableViewerSWTCustomization customization,
-		IObservableValue<String> title, IObservableValue<String> tooltip) {
+		IObservableValue title, IObservableValue tooltip) {
 
 		super(parent, style, inputObject, customization, title, tooltip);
 
diff --git a/bundles/org.eclipse.emf.ecp.view.table.ui.nebula.grid/src/org/eclipse/emf/ecp/view/spi/table/nebula/grid/GridTableViewerFactory.java b/bundles/org.eclipse.emf.ecp.view.table.ui.nebula.grid/src/org/eclipse/emf/ecp/view/spi/table/nebula/grid/GridTableViewerFactory.java
index e6d496e..4d91e54 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.ui.nebula.grid/src/org/eclipse/emf/ecp/view/spi/table/nebula/grid/GridTableViewerFactory.java
+++ b/bundles/org.eclipse.emf.ecp.view.table.ui.nebula.grid/src/org/eclipse/emf/ecp/view/spi/table/nebula/grid/GridTableViewerFactory.java
@@ -58,7 +58,7 @@
 	 * @return the builder
 	 */
 	public static GridTableViewerSWTBuilder fillDefaults(Composite composite, int swtStyleBits, Object input,
-		IObservableValue<String> title, IObservableValue<String> tooltip) {
+		IObservableValue title, IObservableValue tooltip) {
 		return new GridTableViewerSWTBuilder(composite, swtStyleBits, input, title, tooltip);
 	}
 
diff --git a/bundles/org.eclipse.emf.ecp.view.table.ui.nebula.grid/src/org/eclipse/emf/ecp/view/spi/table/nebula/grid/GridTableViewerSWTBuilder.java b/bundles/org.eclipse.emf.ecp.view.table.ui.nebula.grid/src/org/eclipse/emf/ecp/view/spi/table/nebula/grid/GridTableViewerSWTBuilder.java
index 747b75e..a65db37 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.ui.nebula.grid/src/org/eclipse/emf/ecp/view/spi/table/nebula/grid/GridTableViewerSWTBuilder.java
+++ b/bundles/org.eclipse.emf.ecp.view.table.ui.nebula.grid/src/org/eclipse/emf/ecp/view/spi/table/nebula/grid/GridTableViewerSWTBuilder.java
@@ -33,8 +33,8 @@
 	 * @param tooltip the tooltip
 	 */
 	public GridTableViewerSWTBuilder(Composite composite, int swtStyleBits, Object input,
-		IObservableValue<String> title,
-		IObservableValue<String> tooltip) {
+		IObservableValue title,
+		IObservableValue tooltip) {
 		super(composite, swtStyleBits, input, title, tooltip);
 	}
 
diff --git a/bundles/org.eclipse.emf.ecp.view.table.ui.swt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/META-INF/MANIFEST.MF
index 1eb1232..2035c4f 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.ui.swt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/META-INF/MANIFEST.MF
@@ -38,9 +38,7 @@
  org.eclipse.emfforms.spi.core.services.databinding.emf;version="[1.22.0,1.23.0)",
  org.eclipse.jface.bindings.keys;version="0.0.0",
  org.eclipse.jface.databinding.swt;version="0.0.0",
- org.eclipse.jface.databinding.swt.typed;version="0.0.0",
  org.eclipse.jface.databinding.viewers;version="0.0.0",
- org.eclipse.jface.databinding.viewers.typed;version="0.0.0",
  org.eclipse.jface.dialogs;version="0.0.0",
  org.eclipse.jface.layout;version="0.0.0",
  org.eclipse.jface.resource;version="0.0.0",
diff --git a/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/spi/table/swt/ItemProviderEnumCellEditor.java b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/spi/table/swt/ItemProviderEnumCellEditor.java
index 3fa39c1..594f556 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/spi/table/swt/ItemProviderEnumCellEditor.java
+++ b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/spi/table/swt/ItemProviderEnumCellEditor.java
@@ -55,7 +55,7 @@
 import org.eclipse.emfforms.spi.common.report.AbstractReport;
 import org.eclipse.emfforms.spi.common.report.ReportService;
 import org.eclipse.emfforms.spi.localization.EMFFormsLocalizationService;
-import org.eclipse.jface.databinding.viewers.typed.ViewerProperties;
+import org.eclipse.jface.databinding.viewers.ViewerProperties;
 import org.eclipse.jface.layout.GridDataFactory;
 import org.eclipse.jface.viewers.ArrayContentProvider;
 import org.eclipse.jface.viewers.ColumnViewerEditorActivationEvent;
@@ -431,8 +431,9 @@
 			ItemProviderEnumCellEditor.this.doSetValue(value);
 		}
 
+		@SuppressWarnings("rawtypes")
 		@Override
-		public IObservableValue<Object> observe(Object source) {
+		public IObservableValue observe(Object source) {
 			if (source != ItemProviderEnumCellEditor.this) {
 				return Observables.constantObservableValue(null);
 			}
diff --git a/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/spi/table/swt/TableControlSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/spi/table/swt/TableControlSWTRenderer.java
index 6f8bfea..c2979c7 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/spi/table/swt/TableControlSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/spi/table/swt/TableControlSWTRenderer.java
@@ -168,7 +168,7 @@
 import org.eclipse.emfforms.spi.swt.table.action.ViewerActionContext;
 import org.eclipse.emfforms.view.spi.multisegment.model.MultiSegmentUtil;
 import org.eclipse.emfforms.view.spi.multisegment.model.VMultiDomainModelReferenceSegment;
-import org.eclipse.jface.databinding.swt.typed.WidgetProperties;
+import org.eclipse.jface.databinding.swt.WidgetProperties;
 import org.eclipse.jface.databinding.viewers.ObservableListContentProvider;
 import org.eclipse.jface.databinding.viewers.ObservableMapCellLabelProvider;
 import org.eclipse.jface.dialogs.IDialogConstants;
@@ -390,6 +390,7 @@
 		return renderTableControl(gridCell, parent);
 	}
 
+	@SuppressWarnings("unchecked")
 	@Override
 	protected Control createLabel(final Composite parent) {
 		final VDomainModelReference dmrToCheck = getDMRToMultiReference();
@@ -445,8 +446,8 @@
 				actionConfiguration);
 
 			/* get the label text/tooltip */
-			final IObservableValue<String> labelText = getLabelText(dmrToCheck);
-			final IObservableValue<String> labelTooltipText = getLabelTooltipText(dmrToCheck);
+			final IObservableValue<?> labelText = getLabelText(dmrToCheck);
+			final IObservableValue<?> labelTooltipText = getLabelTooltipText(dmrToCheck);
 
 			/* content provider */
 			final ObservableListContentProvider cp = new ObservableListContentProvider();
@@ -736,8 +737,8 @@
 	// CHECKSTYLE.OFF: ParameterNumber
 	protected TableViewerSWTBuilder createTableViewerSWTBuilder(Composite parent,
 		@SuppressWarnings("rawtypes") IObservableList list,
-		IObservableValue<String> labelText, IObservableValue<String> labelTooltipText,
-		TableViewerCompositeBuilder compositeBuilder,
+		@SuppressWarnings("rawtypes") IObservableValue labelText,
+		@SuppressWarnings("rawtypes") IObservableValue labelTooltipText, TableViewerCompositeBuilder compositeBuilder,
 		ObservableListContentProvider cp, ECPTableViewerComparator comparator,
 		TableActionBar<? extends AbstractTableViewer> actionBar) {
 		// CHECKSTYLE.ON: ParameterNumber
@@ -766,8 +767,8 @@
 	// CHECKSTYLE.OFF: ParameterNumber
 	protected TableViewerSWTBuilder createTableViewerSWTBuilder(Composite parent,
 		@SuppressWarnings("rawtypes") IObservableList list,
-		IObservableValue<String> labelText,
-		IObservableValue<String> labelTooltipText, TableViewerCompositeBuilder compositeBuilder,
+		@SuppressWarnings("rawtypes") IObservableValue labelText,
+		@SuppressWarnings("rawtypes") IObservableValue labelTooltipText, TableViewerCompositeBuilder compositeBuilder,
 		ObservableListContentProvider cp, ViewerComparator comparator,
 		TableActionBar<? extends AbstractTableViewer> actionBar) {
 		// CHECKSTYLE.ON: ParameterNumber
@@ -924,8 +925,8 @@
 		for (int i = 0; i < columns.size(); i++) {
 			try {
 				final VDomainModelReference dmr = columns.get(i);
-				final IObservableValue<String> text = getLabelTextForColumn(dmr, clazz);
-				final IObservableValue<String> tooltip = getLabelTooltipTextForColumn(dmr, clazz);
+				final IObservableValue<?> text = getLabelTextForColumn(dmr, clazz);
+				final IObservableValue<?> tooltip = getLabelTooltipTextForColumn(dmr, clazz);
 
 				// Use the same editing domain for the columns as for the view's domain object
 				final EditingDomain editingDomain = getEditingDomain(getViewModelContext().getDomainModel());
@@ -1014,7 +1015,7 @@
 		tableViewerComposite.setComparator(comparator, sortableColumns);
 	}
 
-	private IObservableValue<String> getLabelText(VDomainModelReference dmrToCheck) {
+	private IObservableValue<?> getLabelText(VDomainModelReference dmrToCheck) {
 		switch (getVElement().getLabelAlignment()) {
 		case NONE:
 			return Observables.constantObservableValue("", String.class); //$NON-NLS-1$
@@ -1029,8 +1030,7 @@
 		}
 	}
 
-	@SuppressWarnings("unchecked")
-	private IObservableValue<String> getLabelTextForColumn(VDomainModelReference dmrToCheck, EClass dmrRootEClass) {
+	private IObservableValue<?> getLabelTextForColumn(VDomainModelReference dmrToCheck, EClass dmrRootEClass) {
 		try {
 			// See whether the view model specifies a label for the column
 			final Optional<VEnablementConfiguration> config = TableConfigurationHelper
@@ -1038,6 +1038,7 @@
 			if (config.isPresent()) {
 				final String label = config.get().getLabel();
 				if (label != null && !label.isEmpty()) {
+					@SuppressWarnings("unchecked")
 					final IValueProperty<VElement, String> labelProperty = EMFProperties
 						.value(VViewPackage.Literals.ELEMENT__LABEL);
 					return labelProperty.observe(config.get());
@@ -1051,7 +1052,7 @@
 		}
 	}
 
-	private IObservableValue<String> getLabelTooltipText(VDomainModelReference dmrToCheck) {
+	private IObservableValue<?> getLabelTooltipText(VDomainModelReference dmrToCheck) {
 		switch (getVElement().getLabelAlignment()) {
 		case NONE:
 			return Observables.constantObservableValue("", String.class); //$NON-NLS-1$
@@ -1066,8 +1067,7 @@
 		}
 	}
 
-	private IObservableValue<String> getLabelTooltipTextForColumn(VDomainModelReference dmrToCheck,
-		EClass dmrRootEClass) {
+	private IObservableValue<?> getLabelTooltipTextForColumn(VDomainModelReference dmrToCheck, EClass dmrRootEClass) {
 		try {
 			return getEMFFormsLabelProvider().getDescription(dmrToCheck, dmrRootEClass);
 		} catch (final NoLabelFoundException e) {
diff --git a/bundles/org.eclipse.emf.ecp.view.template.tooling/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.template.tooling/META-INF/MANIFEST.MF
index 30f3bce..bbd6663 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.tooling/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.template.tooling/META-INF/MANIFEST.MF
@@ -42,7 +42,6 @@
  org.eclipse.emfforms.spi.common.report;version="[1.22.0,1.23.0)",
  org.eclipse.emfforms.spi.core.services.databinding.emf;version="[1.22.0,1.23.0)",
  org.eclipse.jface.databinding.swt;version="0.0.0",
- org.eclipse.jface.databinding.swt.typed;version="0.0.0",
  org.osgi.service.component.annotations;version="1.2.0"
 Automatic-Module-Name: org.eclipse.emf.ecp.view.template.tooling
 Service-Component: OSGI-INF/DmrSelectorSegmentDmrControlSWTRendererService.xml
diff --git a/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/Activator.java b/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/Activator.java
index f37c1e6..73294e4 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/Activator.java
+++ b/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/Activator.java
@@ -15,8 +15,10 @@
 
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
+import org.eclipse.emfforms.spi.common.report.ReportService;
 import org.eclipse.ui.plugin.AbstractUIPlugin;
 import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
 
 /**
  * The activator class controls the plug-in life cycle.
@@ -28,6 +30,8 @@
 
 	private static Activator plugin;
 
+	private ServiceReference<ReportService> reportServiceReference;
+
 	/**
 	 * The constructor.
 	 */
@@ -43,6 +47,9 @@
 		plugin = this;
 	}
 
+	/**
+	 * {@inheritDoc}
+	 */
 	@Override
 	public void stop(BundleContext context) throws Exception {
 		plugin = null;
diff --git a/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/AttributeSelectControlSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/AttributeSelectControlSWTRenderer.java
index 30f495d..786e880 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/AttributeSelectControlSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/AttributeSelectControlSWTRenderer.java
@@ -41,6 +41,7 @@
  * @author Eugen Neufeld
  *
  */
+@SuppressWarnings("restriction")
 public class AttributeSelectControlSWTRenderer extends EditableEReferenceLabelControlSWTRenderer {
 
 	/**
diff --git a/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/AttributeValueControlSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/AttributeValueControlSWTRenderer.java
index d94e212..f98e691 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/AttributeValueControlSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/AttributeValueControlSWTRenderer.java
@@ -34,7 +34,7 @@
 import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
 import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
 import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
-import org.eclipse.jface.databinding.swt.typed.WidgetProperties;
+import org.eclipse.jface.databinding.swt.WidgetProperties;
 import org.eclipse.jface.layout.GridDataFactory;
 import org.eclipse.jface.layout.GridLayoutFactory;
 import org.eclipse.swt.SWT;
@@ -89,12 +89,23 @@
 			VT_VIEW_TEMPLATEPROVIDER);
 	}
 
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTControlSWTRenderer#createBindings(org.eclipse.swt.widgets.Control,
+	 *      org.eclipse.emf.ecore.EStructuralFeature.Setting)
+	 */
 	@Override
 	protected Binding[] createBindings(Control control) throws DatabindingFailedException {
 		final Label label = (Label) Composite.class.cast(control).getChildren()[0];
 		final Binding binding = getDataBindingContext().bindValue(WidgetProperties.text().observe(label),
 			getModelValue(), withPreSetValidation(new UpdateValueStrategy()), new UpdateValueStrategy() {
 
+				/**
+				 * {@inheritDoc}
+				 *
+				 * @see org.eclipse.core.databinding.UpdateValueStrategy#convert(java.lang.Object)
+				 */
 				@Override
 				public Object convert(Object value) {
 					return super.convert(value).toString();
@@ -104,6 +115,12 @@
 		return new Binding[] { binding };
 	}
 
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTControlSWTRenderer#createSWTControl(org.eclipse.swt.widgets.Composite,
+	 *      org.eclipse.emf.ecore.EStructuralFeature.Setting)
+	 */
 	@Override
 	protected Control createSWTControl(final Composite parent) {
 		final Composite composite = new Composite(parent, SWT.NONE);
@@ -117,6 +134,11 @@
 		GridDataFactory.fillDefaults().align(SWT.BEGINNING, SWT.BEGINNING).grab(false, false).applyTo(button);
 
 		button.addSelectionListener(new SelectionAdapter() {
+			/**
+			 * {@inheritDoc}
+			 *
+			 * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
+			 */
 			@Override
 			public void widgetSelected(SelectionEvent e) {
 				super.widgetSelected(e);
@@ -144,6 +166,11 @@
 		return composite;
 	}
 
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTRenderer#getUnsetText()
+	 */
 	@Override
 	protected String getUnsetText() {
 		return Messages.AttributeValueControlSWTRenderer_UnsetAttributeMessage;
diff --git a/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/DMRSelectorControlSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/DMRSelectorControlSWTRenderer.java
index 75d9a4b..ca6822f 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/DMRSelectorControlSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/DMRSelectorControlSWTRenderer.java
@@ -46,6 +46,7 @@
  * @author Eugen Neufeld
  *
  */
+@SuppressWarnings("restriction")
 public class DMRSelectorControlSWTRenderer extends EditableEReferenceLabelControlSWTRenderer {
 
 	/**
diff --git a/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/HexColorSelectionControlSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/HexColorSelectionControlSWTRenderer.java
index 4e5a5e5..9c74d01 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/HexColorSelectionControlSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/HexColorSelectionControlSWTRenderer.java
@@ -32,7 +32,7 @@
 import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
 import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
 import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
-import org.eclipse.jface.databinding.swt.typed.WidgetProperties;
+import org.eclipse.jface.databinding.swt.WidgetProperties;
 import org.eclipse.jface.layout.GridDataFactory;
 import org.eclipse.jface.layout.GridLayoutFactory;
 import org.eclipse.swt.SWT;
@@ -87,24 +87,30 @@
 			VT_VIEW_TEMPLATEPROVIDER);
 	}
 
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTControlSWTRenderer#createBindings(org.eclipse.swt.widgets.Control,
+	 *      org.eclipse.emf.ecore.EStructuralFeature.Setting)
+	 */
 	@Override
 	protected Binding[] createBindings(Control control) throws DatabindingFailedException {
 		final Composite composite = Composite.class.cast(control);
 		final Control childControl = composite.getChildren()[0];
-		final IObservableValue<Color> value = WidgetProperties.background().observe(childControl);
+		final IObservableValue value = WidgetProperties.background().observe(childControl);
 		final Binding binding = getDataBindingContext().bindValue(value, getModelValue(),
-			withPreSetValidation(new UpdateValueStrategy<Color, String>() {
+			withPreSetValidation(new UpdateValueStrategy() {
 				@Override
-				public String convert(Color value) {
+				public Object convert(Object value) {
 					if (value == null) {
 						return null;
 					}
-					return getString(value.getRGB());
+					return getString(Color.class.cast(value).getRGB());
 				}
-			}), new UpdateValueStrategy<String, Color>() {
+			}), new UpdateValueStrategy() {
 				@Override
-				public Color convert(String value) {
-					final String hexString = value;
+				public Object convert(Object value) {
+					final String hexString = (String) value;
 					if (hexString == null) {
 						return null;
 					}
@@ -121,6 +127,11 @@
 		return new Binding[] { binding, textBinding };
 	}
 
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTControlSWTRenderer#createSWTControl(org.eclipse.swt.widgets.Composite)
+	 */
 	@Override
 	protected Control createSWTControl(final Composite parent) {
 		final Composite composite = new Composite(parent, SWT.NONE);
@@ -133,6 +144,11 @@
 		selectColorBtn.setText(Messages.HexColorSelectionControlSWTRenderer_SelectColorBtn);
 		selectColorBtn.addSelectionListener(new SelectionAdapter() {
 
+			/**
+			 * {@inheritDoc}
+			 *
+			 * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
+			 */
 			@Override
 			public void widgetSelected(SelectionEvent e) {
 				super.widgetSelected(e);
@@ -185,8 +201,14 @@
 		editingDomain.getCommandStack().execute(command);
 	}
 
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTRenderer#getUnsetText()
+	 */
 	@Override
 	protected String getUnsetText() {
+		// TODO Auto-generated method stub
 		return null;
 	}
 
diff --git a/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/URLSelectionControlSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/URLSelectionControlSWTRenderer.java
index 3241303..e8ff02b 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/URLSelectionControlSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/URLSelectionControlSWTRenderer.java
@@ -38,7 +38,7 @@
 import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
 import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
 import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
-import org.eclipse.jface.databinding.swt.typed.WidgetProperties;
+import org.eclipse.jface.databinding.swt.WidgetProperties;
 import org.eclipse.jface.layout.GridDataFactory;
 import org.eclipse.jface.layout.GridLayoutFactory;
 import org.eclipse.jface.viewers.ILabelProvider;
@@ -98,20 +98,31 @@
 			VT_VIEW_TEMPLATEPROVIDER);
 	}
 
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTControlSWTRenderer#createBindings(org.eclipse.swt.widgets.Control,
+	 *      org.eclipse.emf.ecore.EStructuralFeature.Setting)
+	 */
 	@Override
 	protected Binding[] createBindings(Control control) throws DatabindingFailedException {
 		final Composite composite = Composite.class.cast(control);
 		final Control childControl = composite.getChildren()[0];
-		final IObservableValue<String> value = WidgetProperties.text().observe(childControl);
+		final IObservableValue value = WidgetProperties.text().observe(childControl);
 		final Binding binding = getDataBindingContext().bindValue(value, getModelValue(),
 			withPreSetValidation(new UpdateValueStrategy()), null);
 
-		final IObservableValue<String> toolTip = WidgetProperties.tooltipText().observe(childControl);
+		final IObservableValue toolTip = WidgetProperties.tooltipText().observe(childControl);
 		final Binding tooltipBinding = getDataBindingContext().bindValue(toolTip, getModelValue(),
 			withPreSetValidation(new UpdateValueStrategy()), null);
 		return new Binding[] { binding, tooltipBinding };
 	}
 
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTControlSWTRenderer#createSWTControl(org.eclipse.swt.widgets.Composite)
+	 */
 	@Override
 	protected Control createSWTControl(Composite parent) {
 		final Composite composite = new Composite(parent, SWT.NONE);
@@ -125,6 +136,11 @@
 		selectExternFileButton.setText(Messages.URLSelectionControlSWTRenderer_SelectExternalFileBtn);
 		selectExternFileButton.addSelectionListener(new SelectionAdapter() {
 
+			/**
+			 * {@inheritDoc}
+			 *
+			 * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
+			 */
 			@Override
 			public void widgetSelected(SelectionEvent e) {
 				super.widgetSelected(e);
@@ -151,6 +167,11 @@
 		selectWorkspaceFileButton.setText(Messages.URLSelectionControlSWTRenderer_SelectWorkspaceFileBtn);
 		selectWorkspaceFileButton.addSelectionListener(new SelectionAdapter() {
 
+			/**
+			 * {@inheritDoc}
+			 *
+			 * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
+			 */
 			@Override
 			public void widgetSelected(SelectionEvent e) {
 				super.widgetSelected(e);
@@ -192,6 +213,11 @@
 		editingDomain.getCommandStack().execute(command);
 	}
 
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTRenderer#getUnsetText()
+	 */
 	@Override
 	protected String getUnsetText() {
 		return Messages.URLSelectionControlSWTRenderer_UnsetText;
diff --git a/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/ViewModelSelectControlSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/ViewModelSelectControlSWTRenderer.java
index 72b3c81..202cb52 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/ViewModelSelectControlSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/ViewModelSelectControlSWTRenderer.java
@@ -48,6 +48,7 @@
  * @author Eugen Neufeld
  *
  */
+@SuppressWarnings("restriction")
 public class ViewModelSelectControlSWTRenderer extends EditableEReferenceLabelControlSWTRenderer {
 
 	/**
@@ -64,6 +65,11 @@
 
 	private static final String PLUGIN_ID = "org.eclipse.emf.ecp.view.template.tooling"; //$NON-NLS-1$
 
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.ecp.view.internal.editor.controls.EditableEReferenceLabelControlSWTRenderer#linkValue(org.eclipse.swt.widgets.Shell)
+	 */
 	@Override
 	protected void linkValue(Shell shell) {
 		final ComposedAdapterFactory adapterFactory = new ComposedAdapterFactory(new AdapterFactory[] {
diff --git a/bundles/org.eclipse.emfforms.core.services.emf/src/org/eclipse/emfforms/internal/core/services/label/EMFFormsLabelProviderDefaultImpl.java b/bundles/org.eclipse.emfforms.core.services.emf/src/org/eclipse/emfforms/internal/core/services/label/EMFFormsLabelProviderDefaultImpl.java
index 7edbd4d..e001ebe 100644
--- a/bundles/org.eclipse.emfforms.core.services.emf/src/org/eclipse/emfforms/internal/core/services/label/EMFFormsLabelProviderDefaultImpl.java
+++ b/bundles/org.eclipse.emfforms.core.services.emf/src/org/eclipse/emfforms/internal/core/services/label/EMFFormsLabelProviderDefaultImpl.java
@@ -78,7 +78,7 @@
 	 * @param structuralFeature The {@link EStructuralFeature}
 	 * @return The localized feature name
 	 */
-	public IObservableValue<String> getDisplayName(EStructuralFeature structuralFeature) {
+	public IObservableValue getDisplayName(EStructuralFeature structuralFeature) {
 		final EClass eContainingClass = structuralFeature.getEContainingClass();
 		if (eContainingClass.isAbstract() || eContainingClass.isInterface()
 			|| eContainingClass.getInstanceClass() == null) {
@@ -90,7 +90,7 @@
 
 	@Deprecated
 	@Override
-	public IObservableValue<String> getDisplayName(VDomainModelReference domainModelReference) {
+	public IObservableValue getDisplayName(VDomainModelReference domainModelReference) {
 		Assert.create(domainModelReference).notNull();
 
 		IValueProperty valueProperty;
@@ -125,7 +125,7 @@
 	}
 
 	@Override
-	public IObservableValue<String> getDisplayName(VDomainModelReference domainModelReference, EClass rootEClass) {
+	public IObservableValue getDisplayName(VDomainModelReference domainModelReference, EClass rootEClass) {
 		Assert.create(domainModelReference).notNull();
 		Assert.create(rootEClass).notNull();
 
@@ -142,7 +142,7 @@
 	}
 
 	@Override
-	public IObservableValue<String> getDisplayName(VDomainModelReference domainModelReference, EObject rootObject) {
+	public IObservableValue getDisplayName(VDomainModelReference domainModelReference, EObject rootObject) {
 		Assert.create(domainModelReference).notNull();
 		Assert.create(rootObject).notNull();
 
@@ -161,7 +161,7 @@
 		return getDisplayNameObservableValue(value, structuralFeature);
 	}
 
-	private IObservableValue<String> getDisplayNameObservableValue(EObject containingEObject,
+	private IObservableValue getDisplayNameObservableValue(EObject containingEObject,
 		EStructuralFeature structuralFeature) {
 		final IItemPropertyDescriptor itemPropertyDescriptor = emfSpecificService.getIItemPropertyDescriptor(
 			containingEObject, structuralFeature);
@@ -175,7 +175,7 @@
 
 	@Deprecated
 	@Override
-	public IObservableValue<String> getDescription(VDomainModelReference domainModelReference) {
+	public IObservableValue getDescription(VDomainModelReference domainModelReference) {
 		Assert.create(domainModelReference).notNull();
 
 		IValueProperty valueProperty;
@@ -196,7 +196,7 @@
 	}
 
 	@Override
-	public IObservableValue<String> getDescription(VDomainModelReference domainModelReference, EClass rootEClass) {
+	public IObservableValue getDescription(VDomainModelReference domainModelReference, EClass rootEClass) {
 		Assert.create(domainModelReference).notNull();
 		Assert.create(rootEClass).notNull();
 
@@ -218,7 +218,7 @@
 	}
 
 	@Override
-	public IObservableValue<String> getDescription(VDomainModelReference domainModelReference, EObject rootObject) {
+	public IObservableValue getDescription(VDomainModelReference domainModelReference, EObject rootObject) {
 		Assert.create(domainModelReference).notNull();
 		Assert.create(rootObject).notNull();
 
@@ -237,8 +237,7 @@
 		return getDescriptionObservable(value, structuralFeature);
 	}
 
-	private IObservableValue<String> getDescriptionObservable(EObject containingEObject,
-		EStructuralFeature structuralFeature) {
+	private IObservableValue getDescriptionObservable(EObject containingEObject, EStructuralFeature structuralFeature) {
 		final IItemPropertyDescriptor itemPropertyDescriptor = emfSpecificService.getIItemPropertyDescriptor(
 			containingEObject, structuralFeature);
 		if (itemPropertyDescriptor == null) {
@@ -249,7 +248,7 @@
 		return getConstantObservableValue(itemPropertyDescriptor.getDescription(containingEObject));
 	}
 
-	private IObservableValue<String> getConstantObservableValue(String value) {
+	private IObservableValue getConstantObservableValue(String value) {
 		return Observables.constantObservableValue(value, String.class);
 	}
 
diff --git a/bundles/org.eclipse.emfforms.core.services.emf/src/org/eclipse/emfforms/internal/core/services/label/EMFFormsLabelProviderImpl.java b/bundles/org.eclipse.emfforms.core.services.emf/src/org/eclipse/emfforms/internal/core/services/label/EMFFormsLabelProviderImpl.java
index e836887..0ac68d1 100644
--- a/bundles/org.eclipse.emfforms.core.services.emf/src/org/eclipse/emfforms/internal/core/services/label/EMFFormsLabelProviderImpl.java
+++ b/bundles/org.eclipse.emfforms.core.services.emf/src/org/eclipse/emfforms/internal/core/services/label/EMFFormsLabelProviderImpl.java
@@ -139,8 +139,8 @@
 	private ReportService reportService;
 	private BundleResolver bundleResolver = BundleResolverFactory.createBundleResolver();
 
-	private final Map<WritableValue<String>, BundleKeyWrapper> displayKeyObservableMap = new WeakHashMap<WritableValue<String>, BundleKeyWrapper>();
-	private final Map<WritableValue<String>, DescriptionKey> descriptionKeyObservableMap = new WeakHashMap<WritableValue<String>, DescriptionKey>();
+	private final Map<WritableValue, BundleKeyWrapper> displayKeyObservableMap = new WeakHashMap<WritableValue, BundleKeyWrapper>();
+	private final Map<WritableValue, DescriptionKey> descriptionKeyObservableMap = new WeakHashMap<WritableValue, DescriptionKey>();
 	private EMFFormsLocaleProvider localeProvider;
 	private EMFFormsLabelProviderDefaultImpl labelProviderDefault;
 
@@ -219,14 +219,13 @@
 		try {
 			return getDisplayBundleKeyResultWrapper(structuralFeature).getResult();
 		} catch (final NoBundleFoundException ex) {
-			return labelProviderDefault.getDisplayName(structuralFeature).getValue();
+			return (String) labelProviderDefault.getDisplayName(structuralFeature).getValue();
 		}
 	}
 
 	@Deprecated
 	@Override
-	public IObservableValue<String> getDisplayName(VDomainModelReference domainModelReference)
-		throws NoLabelFoundException {
+	public IObservableValue getDisplayName(VDomainModelReference domainModelReference) throws NoLabelFoundException {
 		Assert.create(domainModelReference).notNull();
 
 		IValueProperty valueProperty;
@@ -244,13 +243,13 @@
 			return labelProviderDefault.getDisplayName(domainModelReference);
 		}
 
-		final WritableValue<String> value = getObservableValue(bundleKeyResultWrapper.getResult());
+		final WritableValue value = getObservableValue(bundleKeyResultWrapper.getResult());
 		displayKeyObservableMap.put(value, bundleKeyResultWrapper.getBundleKeyWrapper());
 		return value;
 	}
 
 	@Override
-	public IObservableValue<String> getDisplayName(VDomainModelReference domainModelReference, EClass rootEClass)
+	public IObservableValue getDisplayName(VDomainModelReference domainModelReference, EClass rootEClass)
 		throws NoLabelFoundException {
 		Assert.create(domainModelReference).notNull();
 		Assert.create(rootEClass).notNull();
@@ -271,13 +270,13 @@
 			return labelProviderDefault.getDisplayName(domainModelReference, rootEClass);
 		}
 
-		final WritableValue<String> displayObserveValue = getObservableValue(displayBundleKeyResultWrapper.getResult());
+		final WritableValue displayObserveValue = getObservableValue(displayBundleKeyResultWrapper.getResult());
 		displayKeyObservableMap.put(displayObserveValue, displayBundleKeyResultWrapper.getBundleKeyWrapper());
 		return displayObserveValue;
 	}
 
 	@Override
-	public IObservableValue<String> getDisplayName(VDomainModelReference domainModelReference, EObject rootObject)
+	public IObservableValue getDisplayName(VDomainModelReference domainModelReference, EObject rootObject)
 		throws NoLabelFoundException {
 		Assert.create(domainModelReference).notNull();
 		Assert.create(rootObject).notNull();
@@ -287,8 +286,7 @@
 
 	@Deprecated
 	@Override
-	public IObservableValue<String> getDescription(VDomainModelReference domainModelReference)
-		throws NoLabelFoundException {
+	public IObservableValue getDescription(VDomainModelReference domainModelReference) throws NoLabelFoundException {
 		Assert.create(domainModelReference).notNull();
 
 		IValueProperty valueProperty;
@@ -306,7 +304,7 @@
 		} catch (final NoBundleFoundException ex) {
 			return labelProviderDefault.getDescription(domainModelReference);
 		}
-		final WritableValue<String> writableValue = getObservableValue(getDescription(eContainingClass
+		final WritableValue writableValue = getObservableValue(getDescription(eContainingClass
 			.getName(),
 			structuralFeature.getName(), bundle));
 		descriptionKeyObservableMap.put(writableValue, new DescriptionKey(eContainingClass.getName(),
@@ -315,7 +313,7 @@
 	}
 
 	@Override
-	public IObservableValue<String> getDescription(VDomainModelReference domainModelReference, EClass rootEClass)
+	public IObservableValue getDescription(VDomainModelReference domainModelReference, EClass rootEClass)
 		throws NoLabelFoundException {
 		Assert.create(domainModelReference).notNull();
 		Assert.create(rootEClass).notNull();
@@ -338,7 +336,7 @@
 	}
 
 	@Override
-	public IObservableValue<String> getDescription(VDomainModelReference domainModelReference, EObject rootObject)
+	public IObservableValue getDescription(VDomainModelReference domainModelReference, EObject rootObject)
 		throws NoLabelFoundException {
 		Assert.create(domainModelReference).notNull();
 		Assert.create(rootObject).notNull();
@@ -360,19 +358,18 @@
 		return createDescriptionObservableValue(structuralFeature, bundle);
 	}
 
-	private IObservableValue<String> createDescriptionObservableValue(final EStructuralFeature structuralFeature,
+	private IObservableValue createDescriptionObservableValue(final EStructuralFeature structuralFeature,
 		Bundle bundle) {
-		final WritableValue<String> writableValue = getObservableValue(
-			getDescription(structuralFeature.getEContainingClass()
-				.getName(), structuralFeature.getName(), bundle));
+		final WritableValue writableValue = getObservableValue(getDescription(structuralFeature.getEContainingClass()
+			.getName(), structuralFeature.getName(), bundle));
 		descriptionKeyObservableMap.put(writableValue,
 			new DescriptionKey(structuralFeature.getEContainingClass().getName(),
 				structuralFeature.getName(), bundle));
 		return writableValue;
 	}
 
-	private WritableValue<String> getObservableValue(String value) {
-		return new WritableValue<String>(value, String.class);
+	private WritableValue getObservableValue(String value) {
+		return new WritableValue(value, String.class);
 	}
 
 	private String getDisplayName(Bundle bundle, String key) {
@@ -401,16 +398,16 @@
 	 */
 	@Override
 	public void notifyLocaleChange() {
-		for (final Entry<WritableValue<String>, BundleKeyWrapper> entry : displayKeyObservableMap.entrySet()) {
-			final WritableValue<String> writableValue = entry.getKey();
+		for (final Entry<WritableValue, BundleKeyWrapper> entry : displayKeyObservableMap.entrySet()) {
+			final WritableValue writableValue = entry.getKey();
 			if (writableValue.isDisposed()) {
 				continue;
 			}
 			final BundleKeyWrapper displayNameKey = entry.getValue();
 			writableValue.setValue(getDisplayName(displayNameKey.getBundle(), displayNameKey.getKey()));
 		}
-		for (final Entry<WritableValue<String>, DescriptionKey> entry : descriptionKeyObservableMap.entrySet()) {
-			final WritableValue<String> writableValue = entry.getKey();
+		for (final Entry<WritableValue, DescriptionKey> entry : descriptionKeyObservableMap.entrySet()) {
+			final WritableValue writableValue = entry.getKey();
 			if (writableValue.isDisposed()) {
 				continue;
 			}
diff --git a/bundles/org.eclipse.emfforms.core.services/src/org/eclipse/emfforms/spi/core/services/label/EMFFormsLabelProvider.java b/bundles/org.eclipse.emfforms.core.services/src/org/eclipse/emfforms/spi/core/services/label/EMFFormsLabelProvider.java
index a6b5a6c..a471be5 100644
--- a/bundles/org.eclipse.emfforms.core.services/src/org/eclipse/emfforms/spi/core/services/label/EMFFormsLabelProvider.java
+++ b/bundles/org.eclipse.emfforms.core.services/src/org/eclipse/emfforms/spi/core/services/label/EMFFormsLabelProvider.java
@@ -46,7 +46,7 @@
 	 *             {@link org.eclipse.emf.ecp.view.spi.model.VDomainModelReferenceSegment segments}.
 	 */
 	@Deprecated
-	IObservableValue<String> getDisplayName(VDomainModelReference domainModelReference) throws NoLabelFoundException;
+	IObservableValue getDisplayName(VDomainModelReference domainModelReference) throws NoLabelFoundException;
 
 	/**
 	 * Returns the display name of the referenced domain object resolved for the given root {@link EClass}.
@@ -57,7 +57,7 @@
 	 * @throws NoLabelFoundException if the display name cannot be retrieved
 	 * @since 1.19
 	 */
-	IObservableValue<String> getDisplayName(VDomainModelReference domainModelReference, EClass rootEClass)
+	IObservableValue getDisplayName(VDomainModelReference domainModelReference, EClass rootEClass)
 		throws NoLabelFoundException;
 
 	/**
@@ -68,7 +68,7 @@
 	 * @return The display name as an {@link IObservableValue}
 	 * @throws NoLabelFoundException if the display name cannot be retrieved
 	 */
-	IObservableValue<String> getDisplayName(VDomainModelReference domainModelReference, EObject rootObject)
+	IObservableValue getDisplayName(VDomainModelReference domainModelReference, EObject rootObject)
 		throws NoLabelFoundException;
 
 	/**
@@ -78,7 +78,7 @@
 	 * <p>
 	 * <strong>Important:</strong> Does not work with DMRs which use segments
 	 * </p>
-	 *
+	 * 
 	 * @param domainModelReference The {@link VDomainModelReference} referencing the model object
 	 * @return The description as an {@link IObservableValue}
 	 * @throws NoLabelFoundException if the description cannot be retrieved
@@ -86,7 +86,7 @@
 	 *             {@link org.eclipse.emf.ecp.view.spi.model.VDomainModelReferenceSegment segments}.
 	 */
 	@Deprecated
-	IObservableValue<String> getDescription(VDomainModelReference domainModelReference) throws NoLabelFoundException;
+	IObservableValue getDescription(VDomainModelReference domainModelReference) throws NoLabelFoundException;
 
 	/**
 	 * Returns the description of the referenced domain object resolved for the given root {@link EClass}.
@@ -97,7 +97,7 @@
 	 * @throws NoLabelFoundException if the description cannot be retrieved
 	 * @since 1.19
 	 */
-	IObservableValue<String> getDescription(VDomainModelReference domainModelReference, EClass rootEClass)
+	IObservableValue getDescription(VDomainModelReference domainModelReference, EClass rootEClass)
 		throws NoLabelFoundException;
 
 	/**
@@ -108,6 +108,6 @@
 	 * @return The description as an {@link IObservableValue}
 	 * @throws NoLabelFoundException if the description cannot be retrieved
 	 */
-	IObservableValue<String> getDescription(VDomainModelReference domainModelReference, EObject rootObject)
+	IObservableValue getDescription(VDomainModelReference domainModelReference, EObject rootObject)
 		throws NoLabelFoundException;
 }
diff --git a/bundles/org.eclipse.emfforms.editor.ecore/src/org/eclipse/emfforms/internal/editor/ecore/controls/DataTypeControl.java b/bundles/org.eclipse.emfforms.editor.ecore/src/org/eclipse/emfforms/internal/editor/ecore/controls/DataTypeControl.java
index 237d7ba..cdce36f 100644
--- a/bundles/org.eclipse.emfforms.editor.ecore/src/org/eclipse/emfforms/internal/editor/ecore/controls/DataTypeControl.java
+++ b/bundles/org.eclipse.emfforms.editor.ecore/src/org/eclipse/emfforms/internal/editor/ecore/controls/DataTypeControl.java
@@ -36,7 +36,7 @@
 import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
 import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
 import org.eclipse.emfforms.spi.editor.helpers.ResourceSetHelpers;
-import org.eclipse.jface.databinding.swt.typed.WidgetProperties;
+import org.eclipse.jface.databinding.swt.WidgetProperties;
 import org.eclipse.jface.fieldassist.AutoCompleteField;
 import org.eclipse.jface.fieldassist.ComboContentAdapter;
 import org.eclipse.jface.viewers.ArrayContentProvider;
diff --git a/bundles/org.eclipse.emfforms.editor.ecore/src/org/eclipse/emfforms/internal/editor/ecore/controls/TypedElementBoundsRenderer.java b/bundles/org.eclipse.emfforms.editor.ecore/src/org/eclipse/emfforms/internal/editor/ecore/controls/TypedElementBoundsRenderer.java
index 2ba2b95..f3b2a53 100644
--- a/bundles/org.eclipse.emfforms.editor.ecore/src/org/eclipse/emfforms/internal/editor/ecore/controls/TypedElementBoundsRenderer.java
+++ b/bundles/org.eclipse.emfforms.editor.ecore/src/org/eclipse/emfforms/internal/editor/ecore/controls/TypedElementBoundsRenderer.java
@@ -45,7 +45,7 @@
 import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
 import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
 import org.eclipse.jface.databinding.swt.ISWTObservableValue;
-import org.eclipse.jface.databinding.swt.typed.WidgetProperties;
+import org.eclipse.jface.databinding.swt.WidgetProperties;
 import org.eclipse.jface.layout.GridDataFactory;
 import org.eclipse.jface.layout.GridLayoutFactory;
 import org.eclipse.swt.SWT;
@@ -211,57 +211,57 @@
 		return LocalizationServiceHelper.getString(TypedElementBoundsRenderer.class, string);
 	}
 
-	@SuppressWarnings("unchecked")
 	private void createDataBindings(final Spinner lowerBound, final Spinner upperBound, Button unbounded) {
 		final EObject domainObject = getViewModelContext().getDomainModel();
 		final DataBindingContext dbc = getDataBindingContext();
 
-		final ISWTObservableValue<Integer> lowerBoundSelectionTargetValue = WidgetProperties.spinnerSelection()
-			.observe(lowerBound);
-		final IObservableValue<Integer> lowerBoundModelValue = EMFEditObservables.observeValue(
-			getEditingDomain(domainObject),
+		final ISWTObservableValue lowerBoundSelectionTargetValue = WidgetProperties.selection().observe(lowerBound);
+		final IObservableValue lowerBoundModelValue = EMFEditObservables.observeValue(getEditingDomain(domainObject),
 			domainObject, EcorePackage.eINSTANCE.getETypedElement_LowerBound());
 		dbc.bindValue(lowerBoundSelectionTargetValue, lowerBoundModelValue);
 
-		final IObservableValue<Integer> upperBoundModelValue = EMFEditObservables.observeValue(
-			getEditingDomain(domainObject),
+		final IObservableValue upperBoundModelValue = EMFEditObservables.observeValue(getEditingDomain(domainObject),
 			domainObject, EcorePackage.eINSTANCE.getETypedElement_UpperBound());
-		final ISWTObservableValue<Integer> upperBoundSelectionTargetValue = WidgetProperties.spinnerSelection()
-			.observe(upperBound);
+		final ISWTObservableValue upperBoundSelectionTargetValue = WidgetProperties.selection().observe(upperBound);
 		dbc.bindValue(upperBoundSelectionTargetValue, upperBoundModelValue);
 
 		bindUpperAndLowerBounds(dbc, lowerBoundModelValue, upperBoundModelValue);
 
 		/* Disable the upperBound spinner when it's value is set to -1 */
-		final ISWTObservableValue<Boolean> upperBoundEnabledTargetValue = WidgetProperties.enabled()
-			.observe(upperBound);
+		final ISWTObservableValue upperBoundEnabledTargetValue = WidgetProperties.enabled().observe(upperBound);
 		dbc.bindValue(upperBoundEnabledTargetValue, upperBoundModelValue, null,
-			new UpdateValueStrategy<Integer, Boolean>() {
+			new UpdateValueStrategy() {
 				@Override
-				public Boolean convert(Integer value) {
+				public Object convert(Object value) {
 					// model to target
-					return value != -1;
+					if (!Integer.class.isInstance(value)) {
+						return null;
+					}
+					return (Integer) value != -1;
 				}
 			});
 
 		/* The unbounded checkbox is selected, when the upperBound value is -1 (and vice versa) */
-		final ISWTObservableValue<Boolean> unboundedSelectionTargetValue = WidgetProperties.buttonSelection()
-			.observe(unbounded);
+		final ISWTObservableValue unboundedSelectionTargetValue = WidgetProperties.selection().observe(unbounded);
 		dbc.bindValue(unboundedSelectionTargetValue, upperBoundModelValue,
-			new UpdateValueStrategy<Boolean, Integer>() {
+			new UpdateValueStrategy() {
 				@Override
-				public Integer convert(Boolean unbounded) {
+				public Object convert(Object value) {
 					// target to model
+					final Boolean unbounded = (Boolean) value;
 					if (!unbounded) {
 						return Math.max(1, lowerBound.getSelection());
 					}
 					return -1;
 				}
-			}, new UpdateValueStrategy<Integer, Boolean>() {
+			}, new UpdateValueStrategy() {
 				@Override
-				public Boolean convert(Integer value) {
+				public Object convert(Object value) {
 					// model to target
-					return value == -1;
+					if (!Integer.class.isInstance(value)) {
+						return null;
+					}
+					return (Integer) value == -1;
 				}
 			});
 	}
@@ -270,16 +270,18 @@
 	 * Make sure that the upperBound cannot be lower than the lowerBound and that the lowerBound cannot be higher
 	 * than the upperBound.
 	 */
-	private void bindUpperAndLowerBounds(final DataBindingContext dbc,
-		final IObservableValue<Integer> lowerBoundModelValue,
-		final IObservableValue<Integer> upperBoundModelValue) {
+	private void bindUpperAndLowerBounds(final DataBindingContext dbc, final IObservableValue lowerBoundModelValue,
+		final IObservableValue upperBoundModelValue) {
 		dbc.bindValue(upperBoundModelValue, lowerBoundModelValue,
-			new UpdateValueStrategy<Integer, Integer>() {
+			new UpdateValueStrategy() {
 				@Override
-				public Integer convert(Integer value) {
+				public Object convert(Object value) {
 					// upper value to lower value
-					final Integer upperValue = value;
-					final Integer lowerValue = lowerBoundModelValue.getValue();
+					if (!Integer.class.isInstance(value)) {
+						return null;
+					}
+					final Integer upperValue = (Integer) value;
+					final Integer lowerValue = (Integer) lowerBoundModelValue.getValue();
 					if (upperValue < lowerValue && upperValue != -1) {
 						return upperValue;
 					}
@@ -287,18 +289,21 @@
 				}
 
 				@Override
-				protected IStatus doSet(IObservableValue<? super Integer> observableValue, Integer value) {
+				protected IStatus doSet(IObservableValue observableValue, Object value) {
 					if (observableValue.getValue().equals(value)) {
 						return Status.OK_STATUS;
 					}
 					return super.doSet(observableValue, value);
 				}
-			}, new UpdateValueStrategy<Integer, Integer>() {
+			}, new UpdateValueStrategy() {
 				@Override
-				public Integer convert(Integer value) {
+				public Object convert(Object value) {
 					// lower value to upper value
-					final Integer lowerValue = value;
-					final Integer upperValue = upperBoundModelValue.getValue();
+					if (!Integer.class.isInstance(value)) {
+						return null;
+					}
+					final Integer lowerValue = (Integer) value;
+					final Integer upperValue = (Integer) upperBoundModelValue.getValue();
 					if (upperValue >= 0 && upperValue < lowerValue) {
 						return lowerValue;
 					}
@@ -306,7 +311,7 @@
 				}
 
 				@Override
-				protected IStatus doSet(IObservableValue<? super Integer> observableValue, Integer value) {
+				protected IStatus doSet(IObservableValue observableValue, Object value) {
 					if (observableValue.getValue().equals(value)) {
 						return Status.OK_STATUS;
 					}
diff --git a/bundles/org.eclipse.emfforms.swt.control.multiattribute/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.swt.control.multiattribute/META-INF/MANIFEST.MF
index cfc74e2..dc030ff 100644
--- a/bundles/org.eclipse.emfforms.swt.control.multiattribute/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.swt.control.multiattribute/META-INF/MANIFEST.MF
@@ -29,7 +29,6 @@
  org.eclipse.core.runtime;version="0.0.0",
  org.eclipse.emf.edit.ui.provider;version="0.0.0",
  org.eclipse.jface.databinding.swt;version="0.0.0",
- org.eclipse.jface.databinding.swt.typed;version="0.0.0",
  org.eclipse.jface.databinding.viewers;version="0.0.0",
  org.eclipse.jface.layout;version="0.0.0",
  org.eclipse.jface.viewers;version="0.0.0",
diff --git a/bundles/org.eclipse.emfforms.swt.control.multiattribute/src/org/eclipse/emfforms/spi/view/control/multiattribute/MultiAttributeSWTRenderer.java b/bundles/org.eclipse.emfforms.swt.control.multiattribute/src/org/eclipse/emfforms/spi/view/control/multiattribute/MultiAttributeSWTRenderer.java
index 458b7b2e..28d2ee7 100644
--- a/bundles/org.eclipse.emfforms.swt.control.multiattribute/src/org/eclipse/emfforms/spi/view/control/multiattribute/MultiAttributeSWTRenderer.java
+++ b/bundles/org.eclipse.emfforms.swt.control.multiattribute/src/org/eclipse/emfforms/spi/view/control/multiattribute/MultiAttributeSWTRenderer.java
@@ -65,7 +65,6 @@
 import org.eclipse.emfforms.spi.swt.core.layout.GridDescriptionFactory;
 import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
 import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
-import org.eclipse.jface.databinding.swt.typed.WidgetProperties;
 import org.eclipse.jface.databinding.viewers.ObservableListContentProvider;
 import org.eclipse.jface.layout.GridDataFactory;
 import org.eclipse.jface.layout.GridLayoutFactory;
@@ -632,9 +631,12 @@
 
 		final CellEditor cellEditor = createCellEditor(tempInstance, attribute, tableViewer.getTable());
 
-		final IObservableValue<String> textObservableValue = WidgetProperties.text().observe(column.getColumn());
-		final IObservableValue<String> tooltipObservableValue = WidgetProperties.tooltipText()
-			.observe(column.getColumn());
+		@SuppressWarnings("deprecation")
+		final IObservableValue textObservableValue = org.eclipse.jface.databinding.swt.SWTObservables
+			.observeText(column.getColumn());
+		@SuppressWarnings("deprecation")
+		final IObservableValue tooltipObservableValue = org.eclipse.jface.databinding.swt.SWTObservables
+			.observeTooltipText(column.getColumn());
 		try {
 			viewModelDBC.bindValue(textObservableValue, labelService
 				.getDisplayName(getVElement().getDomainModelReference(), getViewModelContext().getDomainModel()));
diff --git a/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/META-INF/MANIFEST.MF
index 17344b4..60f7b79 100644
--- a/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/META-INF/MANIFEST.MF
@@ -23,7 +23,6 @@
 Import-Package: javax.inject;version="1.0.0",
  org.eclipse.emf.ecp.edit.spi.swt.util;version="[1.22.0,1.23.0)",
  org.eclipse.jface.databinding.swt;version="0.0.0",
- org.eclipse.jface.databinding.swt.typed;version="0.0.0",
  org.eclipse.jface.databinding.viewers;version="0.0.0",
  org.eclipse.jface.fieldassist;version="0.0.0",
  org.eclipse.jface.viewers;version="0.0.0",
diff --git a/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/src/org/eclipse/emfforms/internal/swt/control/text/autocomplete/renderer/AutocompleteTextControlSWTRenderer.java b/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/src/org/eclipse/emfforms/internal/swt/control/text/autocomplete/renderer/AutocompleteTextControlSWTRenderer.java
index 97d0365..d8fafac 100644
--- a/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/src/org/eclipse/emfforms/internal/swt/control/text/autocomplete/renderer/AutocompleteTextControlSWTRenderer.java
+++ b/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/src/org/eclipse/emfforms/internal/swt/control/text/autocomplete/renderer/AutocompleteTextControlSWTRenderer.java
@@ -35,7 +35,7 @@
 import org.eclipse.emfforms.spi.localization.LocalizationServiceHelper;
 import org.eclipse.emfforms.spi.swt.control.text.autocomplete.viewservice.AutocompleteViewModelService;
 import org.eclipse.jface.databinding.swt.ISWTObservableValue;
-import org.eclipse.jface.databinding.swt.typed.WidgetProperties;
+import org.eclipse.jface.databinding.swt.WidgetProperties;
 import org.eclipse.jface.fieldassist.AutoCompleteField;
 import org.eclipse.jface.fieldassist.ComboContentAdapter;
 import org.eclipse.jface.viewers.ArrayContentProvider;
@@ -81,7 +81,7 @@
 	 */
 	@Override
 	protected Binding[] createBindings(Viewer viewer) throws DatabindingFailedException {
-		final ISWTObservableValue<String> targetObservable = WidgetProperties.text()
+		final ISWTObservableValue targetObservable = WidgetProperties.text()
 			.observe(ComboViewer.class.cast(viewer).getCombo());
 		final IObservableValue modelObservable = getModelValue();
 		final Binding binding = getDataBindingContext().bindValue(targetObservable, modelObservable);
diff --git a/bundles/org.eclipse.emfforms.swt.control.text.richtext/src/org/eclipse/emfforms/spi/swt/control/text/richtext/renderer/RichTextControlSWTRenderer.java b/bundles/org.eclipse.emfforms.swt.control.text.richtext/src/org/eclipse/emfforms/spi/swt/control/text/richtext/renderer/RichTextControlSWTRenderer.java
index 2c7142e0..c079ef1 100644
--- a/bundles/org.eclipse.emfforms.swt.control.text.richtext/src/org/eclipse/emfforms/spi/swt/control/text/richtext/renderer/RichTextControlSWTRenderer.java
+++ b/bundles/org.eclipse.emfforms.swt.control.text.richtext/src/org/eclipse/emfforms/spi/swt/control/text/richtext/renderer/RichTextControlSWTRenderer.java
@@ -29,7 +29,7 @@
 import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
 import org.eclipse.emfforms.spi.swt.core.layout.EMFFormsSWTLayoutUtil;
 import org.eclipse.emfforms.spi.swt.core.util.PopupWindow;
-import org.eclipse.jface.databinding.swt.typed.WidgetProperties;
+import org.eclipse.jface.databinding.swt.WidgetProperties;
 import org.eclipse.jface.layout.GridDataFactory;
 import org.eclipse.jface.layout.GridLayoutFactory;
 import org.eclipse.swt.SWT;
@@ -233,7 +233,7 @@
 	@Override
 	protected Binding bindValue(Control text, IObservableValue modelValue, DataBindingContext dataBindingContext,
 		UpdateValueStrategy targetToModel, UpdateValueStrategy modelToTarget) {
-		final IObservableValue<String> value = WidgetProperties.text(SWT.NONE).observe(this.text);
+		final IObservableValue value = WidgetProperties.text(SWT.NONE).observe(this.text);
 		binding = dataBindingContext.bindValue(value, modelValue, targetToModel, modelToTarget);
 		return binding;
 	}
diff --git a/bundles/org.eclipse.emfforms.swt.table/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.swt.table/META-INF/MANIFEST.MF
index 005e95a..8c69ae4 100644
--- a/bundles/org.eclipse.emfforms.swt.table/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.swt.table/META-INF/MANIFEST.MF
@@ -22,7 +22,6 @@
 Import-Package: org.eclipse.emfforms.spi.localization;version="[1.22.0,1.23.0)",
  org.eclipse.jface.bindings.keys;version="0.0.0",
  org.eclipse.jface.databinding.swt;version="0.0.0",
- org.eclipse.jface.databinding.swt.typed;version="0.0.0",
  org.eclipse.jface.databinding.viewers;version="0.0.0",
  org.eclipse.jface.dialogs;version="0.0.0",
  org.eclipse.jface.layout;version="0.0.0",
diff --git a/bundles/org.eclipse.emfforms.swt.table/src/org/eclipse/emfforms/internal/swt/table/util/DMREditingSupport.java b/bundles/org.eclipse.emfforms.swt.table/src/org/eclipse/emfforms/internal/swt/table/util/DMREditingSupport.java
index 8fd5405..bc17308 100644
--- a/bundles/org.eclipse.emfforms.swt.table/src/org/eclipse/emfforms/internal/swt/table/util/DMREditingSupport.java
+++ b/bundles/org.eclipse.emfforms.swt.table/src/org/eclipse/emfforms/internal/swt/table/util/DMREditingSupport.java
@@ -21,7 +21,7 @@
 import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
 import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
 import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
-import org.eclipse.jface.databinding.swt.typed.WidgetProperties;
+import org.eclipse.jface.databinding.swt.WidgetProperties;
 import org.eclipse.jface.viewers.CellEditor;
 import org.eclipse.jface.viewers.ColumnViewer;
 import org.eclipse.jface.viewers.ColumnViewerEditorActivationEvent;
@@ -104,7 +104,7 @@
 	@Override
 	protected void initializeCellEditorValue(CellEditor cellEditor, ViewerCell cell) {
 		final EMFDataBindingContext bindingContext = new EMFDataBindingContext();
-		final IObservableValue<String> target = doCreateCellEditorObservable(cellEditor);
+		final IObservableValue target = doCreateCellEditorObservable(cellEditor);
 		final IObservableValue model = valueProperty.observe(cell.getElement());
 		final Binding binding = bindingContext.bindValue(target, model);
 		editingState = new EditingState(bindingContext, binding, target, model);
@@ -116,7 +116,7 @@
 		return cellEditor;
 	}
 
-	private IObservableValue<String> doCreateCellEditorObservable(CellEditor cellEditor) {
+	private IObservableValue doCreateCellEditorObservable(CellEditor cellEditor) {
 		return WidgetProperties.text(SWT.FocusOut).observe(cellEditor.getControl());
 	}
 
@@ -179,13 +179,13 @@
 	private class EditingState {
 		private final EMFDataBindingContext bindingContext;
 
-		private final IObservableValue<String> target;
+		private final IObservableValue target;
 
 		private final IObservableValue model;
 
 		private final Binding binding;
 
-		EditingState(EMFDataBindingContext bindingContext, Binding binding, IObservableValue<String> target,
+		EditingState(EMFDataBindingContext bindingContext, Binding binding, IObservableValue target,
 			IObservableValue model) {
 			this.binding = binding;
 			this.target = target;
diff --git a/bundles/org.eclipse.emfforms.swt.table/src/org/eclipse/emfforms/spi/swt/table/AbstractTableViewerColumnBuilder.java b/bundles/org.eclipse.emfforms.swt.table/src/org/eclipse/emfforms/spi/swt/table/AbstractTableViewerColumnBuilder.java
index df3cee1..a221479 100644
--- a/bundles/org.eclipse.emfforms.swt.table/src/org/eclipse/emfforms/spi/swt/table/AbstractTableViewerColumnBuilder.java
+++ b/bundles/org.eclipse.emfforms.swt.table/src/org/eclipse/emfforms/spi/swt/table/AbstractTableViewerColumnBuilder.java
@@ -18,7 +18,7 @@
 import org.eclipse.core.databinding.observable.value.IObservableValue;
 import org.eclipse.emf.databinding.EMFDataBindingContext;
 import org.eclipse.jface.databinding.swt.IWidgetValueProperty;
-import org.eclipse.jface.databinding.swt.typed.WidgetProperties;
+import org.eclipse.jface.databinding.swt.WidgetProperties;
 import org.eclipse.jface.viewers.AbstractTableViewer;
 import org.eclipse.jface.viewers.ViewerColumn;
 import org.eclipse.swt.widgets.Item;
@@ -148,8 +148,7 @@
 	 * @param valueProperty the value property to bind to
 	 * @param observable the value to bind to
 	 */
-	protected void bindValue(Widget column, IWidgetValueProperty<Widget, String> valueProperty,
-		IObservableValue<String> observable) {
+	protected void bindValue(Widget column, IWidgetValueProperty valueProperty, IObservableValue observable) {
 		if (dataBindingContext == null) {
 			return;
 		}
diff --git a/bundles/org.eclipse.emfforms.swt.table/src/org/eclipse/emfforms/spi/swt/table/AbstractTableViewerComposite.java b/bundles/org.eclipse.emfforms.swt.table/src/org/eclipse/emfforms/spi/swt/table/AbstractTableViewerComposite.java
index 76fd1be..e75ad15 100644
--- a/bundles/org.eclipse.emfforms.swt.table/src/org/eclipse/emfforms/spi/swt/table/AbstractTableViewerComposite.java
+++ b/bundles/org.eclipse.emfforms.swt.table/src/org/eclipse/emfforms/spi/swt/table/AbstractTableViewerComposite.java
@@ -26,7 +26,7 @@
 import org.eclipse.emfforms.spi.swt.table.action.ActionBar;
 import org.eclipse.emfforms.spi.swt.table.action.ActionBarProvider;
 import org.eclipse.emfforms.spi.swt.table.action.ActionConfiguration;
-import org.eclipse.jface.databinding.swt.typed.WidgetProperties;
+import org.eclipse.jface.databinding.swt.WidgetProperties;
 import org.eclipse.jface.layout.AbstractColumnLayout;
 import org.eclipse.jface.viewers.AbstractTableViewer;
 import org.eclipse.jface.viewers.ColumnPixelData;
@@ -73,8 +73,8 @@
 		int style,
 		Object inputObject,
 		TableViewerSWTCustomization<V> customization,
-		IObservableValue<String> title,
-		IObservableValue<String> tooltip) {
+		IObservableValue title,
+		IObservableValue tooltip) {
 		super(parent, style);
 
 		emfDatabindingContext = new EMFDataBindingContext();
@@ -151,8 +151,8 @@
 	}
 
 	private void renderControl(Composite parent, TableViewerSWTCustomization<V> customization,
-		Object inputObject, EMFDataBindingContext emfDataBindingContext, IObservableValue<String> title,
-		IObservableValue<String> tooltip) {
+		Object inputObject, EMFDataBindingContext emfDataBindingContext, IObservableValue title,
+		IObservableValue tooltip) {
 		customization.createCompositeLayout(parent);
 
 		final Optional<Label> titleLabel = customization.getTitleLabel();
@@ -342,7 +342,7 @@
 		}
 	}
 
-	private static void initTitleLabel(Label label, IObservableValue<String> title, IObservableValue<String> tooltip,
+	private static void initTitleLabel(Label label, IObservableValue title, IObservableValue tooltip,
 		EMFDataBindingContext emfDatabindingContext) {
 		emfDatabindingContext.bindValue(
 			WidgetProperties.text().observe(label),
diff --git a/bundles/org.eclipse.emfforms.swt.table/src/org/eclipse/emfforms/spi/swt/table/ColumnConfiguration.java b/bundles/org.eclipse.emfforms.swt.table/src/org/eclipse/emfforms/spi/swt/table/ColumnConfiguration.java
index a1b85c3..ca9e4b7 100644
--- a/bundles/org.eclipse.emfforms.swt.table/src/org/eclipse/emfforms/spi/swt/table/ColumnConfiguration.java
+++ b/bundles/org.eclipse.emfforms.swt.table/src/org/eclipse/emfforms/spi/swt/table/ColumnConfiguration.java
@@ -149,14 +149,16 @@
 	 *
 	 * @return the column header text
 	 */
-	IObservableValue<String> getColumnText();
+	@SuppressWarnings("rawtypes")
+	IObservableValue getColumnText();
 
 	/**
 	 * The column header tooltip text.
 	 *
 	 * @return the column header tooltip
 	 */
-	IObservableValue<String> getColumnTooltip();
+	@SuppressWarnings("rawtypes")
+	IObservableValue getColumnTooltip();
 
 	/**
 	 * The cell label provider which will be set on the column.
diff --git a/bundles/org.eclipse.emfforms.swt.table/src/org/eclipse/emfforms/spi/swt/table/ColumnConfigurationBuilder.java b/bundles/org.eclipse.emfforms.swt.table/src/org/eclipse/emfforms/spi/swt/table/ColumnConfigurationBuilder.java
index 15ebf52..0c26f27 100644
--- a/bundles/org.eclipse.emfforms.swt.table/src/org/eclipse/emfforms/spi/swt/table/ColumnConfigurationBuilder.java
+++ b/bundles/org.eclipse.emfforms.swt.table/src/org/eclipse/emfforms/spi/swt/table/ColumnConfigurationBuilder.java
@@ -49,8 +49,10 @@
 	private int weight = ColumnConfiguration.NO_WEIGHT;
 	private int minWidth;
 
-	private IObservableValue<String> textObservable;
-	private IObservableValue<String> tooltipObservable;
+	@SuppressWarnings("rawtypes")
+	private IObservableValue textObservable;
+	@SuppressWarnings("rawtypes")
+	private IObservableValue tooltipObservable;
 
 	private CellLabelProviderFactory labelProviderFactory;
 	private EditingSupportCreator editingSupportCreator;
@@ -272,7 +274,8 @@
 	 * @param textObservable the column text observable
 	 * @return self
 	 */
-	public ColumnConfigurationBuilder text(IObservableValue<String> textObservable) {
+	@SuppressWarnings("rawtypes")
+	public ColumnConfigurationBuilder text(IObservableValue textObservable) {
 		this.textObservable = textObservable;
 		return this;
 	}
@@ -293,7 +296,8 @@
 	 * @param tooltipObservable the tooltip observable
 	 * @return self
 	 */
-	public ColumnConfigurationBuilder tooltip(IObservableValue<String> tooltipObservable) {
+	@SuppressWarnings("rawtypes")
+	public ColumnConfigurationBuilder tooltip(IObservableValue tooltipObservable) {
 		this.tooltipObservable = tooltipObservable;
 		return this;
 	}
diff --git a/bundles/org.eclipse.emfforms.swt.table/src/org/eclipse/emfforms/spi/swt/table/ColumnConfigurationImpl.java b/bundles/org.eclipse.emfforms.swt.table/src/org/eclipse/emfforms/spi/swt/table/ColumnConfigurationImpl.java
index 98b98c2..109378c 100644
--- a/bundles/org.eclipse.emfforms.swt.table/src/org/eclipse/emfforms/spi/swt/table/ColumnConfigurationImpl.java
+++ b/bundles/org.eclipse.emfforms.swt.table/src/org/eclipse/emfforms/spi/swt/table/ColumnConfigurationImpl.java
@@ -45,8 +45,8 @@
 	private final int styleBits;
 	private final int weight;
 	private final int minWidth;
-	private final IObservableValue<String> columnText;
-	private final IObservableValue<String> tooltipText;
+	private final IObservableValue columnText;
+	private final IObservableValue tooltipText;
 	private final CellLabelProviderFactory labelProviderFactory;
 	private final Optional<EditingSupportCreator> editingSupportCreator;
 	private final Optional<Image> image;
@@ -80,8 +80,8 @@
 		int styleBits,
 		int weight,
 		int minWidth,
-		IObservableValue<String> columnText,
-		IObservableValue<String> tooltipText,
+		IObservableValue columnText,
+		IObservableValue tooltipText,
 		CellLabelProviderFactory labelProviderFactory,
 		EditingSupportCreator editingSupport,
 		Image image,
@@ -142,12 +142,12 @@
 	}
 
 	@Override
-	public IObservableValue<String> getColumnText() {
+	public IObservableValue getColumnText() {
 		return columnText;
 	}
 
 	@Override
-	public IObservableValue<String> getColumnTooltip() {
+	public IObservableValue getColumnTooltip() {
 		return tooltipText;
 	}
 
diff --git a/bundles/org.eclipse.emfforms.swt.table/src/org/eclipse/emfforms/spi/swt/table/DefaultTableViewerColumnBuilder.java b/bundles/org.eclipse.emfforms.swt.table/src/org/eclipse/emfforms/spi/swt/table/DefaultTableViewerColumnBuilder.java
index 62452a4..19c5d35 100644
--- a/bundles/org.eclipse.emfforms.swt.table/src/org/eclipse/emfforms/spi/swt/table/DefaultTableViewerColumnBuilder.java
+++ b/bundles/org.eclipse.emfforms.swt.table/src/org/eclipse/emfforms/spi/swt/table/DefaultTableViewerColumnBuilder.java
@@ -14,7 +14,7 @@
 package org.eclipse.emfforms.spi.swt.table;
 
 import org.eclipse.emfforms.common.Optional;
-import org.eclipse.jface.databinding.swt.typed.WidgetProperties;
+import org.eclipse.jface.databinding.swt.WidgetProperties;
 import org.eclipse.jface.viewers.EditingSupport;
 import org.eclipse.jface.viewers.TableViewer;
 import org.eclipse.jface.viewers.TableViewerColumn;
diff --git a/bundles/org.eclipse.emfforms.swt.table/src/org/eclipse/emfforms/spi/swt/table/TableViewerComposite.java b/bundles/org.eclipse.emfforms.swt.table/src/org/eclipse/emfforms/spi/swt/table/TableViewerComposite.java
index 52db8a8..80d0613 100644
--- a/bundles/org.eclipse.emfforms.swt.table/src/org/eclipse/emfforms/spi/swt/table/TableViewerComposite.java
+++ b/bundles/org.eclipse.emfforms.swt.table/src/org/eclipse/emfforms/spi/swt/table/TableViewerComposite.java
@@ -53,7 +53,7 @@
 	 */
 	TableViewerComposite(Composite parent, int style, Object inputObject,
 		TableViewerSWTCustomization customization,
-		IObservableValue<String> title, IObservableValue<String> tooltip) {
+		IObservableValue title, IObservableValue tooltip) {
 		super(parent, style, inputObject, customization, title, tooltip);
 	}
 
diff --git a/bundles/org.eclipse.emfforms.swt.table/src/org/eclipse/emfforms/spi/swt/table/TableViewerFactory.java b/bundles/org.eclipse.emfforms.swt.table/src/org/eclipse/emfforms/spi/swt/table/TableViewerFactory.java
index 74d90b3..04a8637 100644
--- a/bundles/org.eclipse.emfforms.swt.table/src/org/eclipse/emfforms/spi/swt/table/TableViewerFactory.java
+++ b/bundles/org.eclipse.emfforms.swt.table/src/org/eclipse/emfforms/spi/swt/table/TableViewerFactory.java
@@ -57,7 +57,7 @@
 	 * @return the builder
 	 */
 	public static TableViewerSWTBuilder fillDefaults(Composite composite, int swtStyleBits, Object input,
-		IObservableValue<String> title, IObservableValue<String> tooltip) {
+		IObservableValue title, IObservableValue tooltip) {
 		return new TableViewerSWTBuilder(composite, swtStyleBits, input, title, tooltip);
 	}
 
diff --git a/bundles/org.eclipse.emfforms.swt.table/src/org/eclipse/emfforms/spi/swt/table/TableViewerSWTBuilder.java b/bundles/org.eclipse.emfforms.swt.table/src/org/eclipse/emfforms/spi/swt/table/TableViewerSWTBuilder.java
index 6f531c9..756e04b 100644
--- a/bundles/org.eclipse.emfforms.swt.table/src/org/eclipse/emfforms/spi/swt/table/TableViewerSWTBuilder.java
+++ b/bundles/org.eclipse.emfforms.swt.table/src/org/eclipse/emfforms/spi/swt/table/TableViewerSWTBuilder.java
@@ -52,9 +52,9 @@
 	/** The table control customization. */
 	private final DefaultTableControlSWTCustomization customization;
 	/** The title. */
-	private final IObservableValue<String> title;
+	private final IObservableValue title;
 	/** The tooltip. */
-	private final IObservableValue<String> tooltip;
+	private final IObservableValue tooltip;
 
 	private final Set<Feature> features = new LinkedHashSet<Feature>();
 
@@ -66,8 +66,8 @@
 	 * @param tooltip the tooltip
 	 */
 	@SuppressWarnings("rawtypes")
-	protected TableViewerSWTBuilder(Composite composite, int swtStyleBits, Object input, IObservableValue<String> title,
-		IObservableValue<String> tooltip) {
+	protected TableViewerSWTBuilder(Composite composite, int swtStyleBits, Object input, IObservableValue title,
+		IObservableValue tooltip) {
 
 		this.composite = composite;
 		this.swtStyleBits = swtStyleBits;
@@ -119,14 +119,14 @@
 	/**
 	 * @return the title
 	 */
-	protected IObservableValue<String> getTitle() {
+	protected IObservableValue getTitle() {
 		return title;
 	}
 
 	/**
 	 * @return the tooltip
 	 */
-	protected IObservableValue<String> getTooltip() {
+	protected IObservableValue getTooltip() {
 		return tooltip;
 	}
 
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/EMFFormsSpreadsheetControlRenderer.java b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/EMFFormsSpreadsheetControlRenderer.java
index 5cf8bd1..6fcfca1 100644
--- a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/EMFFormsSpreadsheetControlRenderer.java
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/EMFFormsSpreadsheetControlRenderer.java
@@ -249,7 +249,7 @@
 	private void writeLabel(VControl vControl, ViewModelContext viewModelContext, final Cell labelCell,
 		final EMFFormsExportTableParent exportTableParent, VDomainModelReference dmrToResolve,
 		final EStructuralFeature structuralFeature) throws NoLabelFoundException {
-		IObservableValue<String> displayName;
+		IObservableValue displayName;
 		if (viewModelContext.getDomainModel() != null) {
 			displayName = emfformsLabelProvider.getDisplayName(dmrToResolve, viewModelContext.getDomainModel());
 		} else {
@@ -274,7 +274,7 @@
 
 	private void writeDescription(ViewModelContext viewModelContext, final Cell descriptionCell,
 		VDomainModelReference dmrToResolve) throws NoLabelFoundException {
-		IObservableValue<String> description;
+		IObservableValue description;
 		if (viewModelContext.getDomainModel() != null) {
 			description = emfformsLabelProvider.getDescription(dmrToResolve, viewModelContext.getDomainModel());
 		} else {
diff --git a/tests/org.eclipse.emf.ecp.view.table.ui.nebula.grid.test/src/org/eclipse/emf/ecp/view/internal/table/nebula/grid/GridControlRenderer_PTest.java b/tests/org.eclipse.emf.ecp.view.table.ui.nebula.grid.test/src/org/eclipse/emf/ecp/view/internal/table/nebula/grid/GridControlRenderer_PTest.java
index 85ce75e..0f8ee38 100644
--- a/tests/org.eclipse.emf.ecp.view.table.ui.nebula.grid.test/src/org/eclipse/emf/ecp/view/internal/table/nebula/grid/GridControlRenderer_PTest.java
+++ b/tests/org.eclipse.emf.ecp.view.table.ui.nebula.grid.test/src/org/eclipse/emf/ecp/view/internal/table/nebula/grid/GridControlRenderer_PTest.java
@@ -205,10 +205,8 @@
 		when(getContext().getDomainModel()).thenReturn(mock(EObject.class));
 		setShell(new Shell(Display.getDefault(), SWT.NONE));
 
-		final IObservableValue<String> testDescription = Observables.constantObservableValue("test-description",
-			String.class);
-		final IObservableValue<String> testDisplayName = Observables.constantObservableValue("test-displayname",
-			String.class);
+		final IObservableValue testDescription = Observables.constantObservableValue("test-description", String.class);
+		final IObservableValue testDisplayName = Observables.constantObservableValue("test-displayname", String.class);
 
 		try {
 
diff --git a/tests/org.eclipse.emf.ecp.view.table.ui.nebula.grid.test/src/org/eclipse/emf/ecp/view/spi/table/nebula/grid/GridViewerColumnBuilder_ITest.java b/tests/org.eclipse.emf.ecp.view.table.ui.nebula.grid.test/src/org/eclipse/emf/ecp/view/spi/table/nebula/grid/GridViewerColumnBuilder_ITest.java
index 6412ebc..d4ef291 100644
--- a/tests/org.eclipse.emf.ecp.view.table.ui.nebula.grid.test/src/org/eclipse/emf/ecp/view/spi/table/nebula/grid/GridViewerColumnBuilder_ITest.java
+++ b/tests/org.eclipse.emf.ecp.view.table.ui.nebula.grid.test/src/org/eclipse/emf/ecp/view/spi/table/nebula/grid/GridViewerColumnBuilder_ITest.java
@@ -69,16 +69,17 @@
 		shell.dispose();
 	}
 
+	@SuppressWarnings("rawtypes")
 	@Test
 	public void testConfigureDatabinding() {
 
-		final IObservableValue<String> tooltipObservable = mock(IObservableValue.class);
+		final IObservableValue tooltipObservable = mock(IObservableValue.class);
 		final String tooltip = "Foo";
 		when(tooltipObservable.getValue()).thenReturn(tooltip);
 		when(tooltipObservable.getRealm()).thenReturn(dataBindingContext.getValidationRealm());
 		when(config.getColumnTooltip()).thenReturn(tooltipObservable);
 
-		final IObservableValue<String> textObservable = mock(IObservableValue.class);
+		final IObservableValue textObservable = mock(IObservableValue.class);
 		when(textObservable.getValue()).thenReturn("Bar");
 		when(textObservable.getValueType()).thenReturn(String.class);
 		when(textObservable.getRealm()).thenReturn(dataBindingContext.getValidationRealm());
diff --git a/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/src/org/eclipse/emf/ecp/view/spi/table/swt/SWTTableDatabindingLabel_PTest.java b/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/src/org/eclipse/emf/ecp/view/spi/table/swt/SWTTableDatabindingLabel_PTest.java
index 1ff9288..da48432 100644
--- a/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/src/org/eclipse/emf/ecp/view/spi/table/swt/SWTTableDatabindingLabel_PTest.java
+++ b/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/src/org/eclipse/emf/ecp/view/spi/table/swt/SWTTableDatabindingLabel_PTest.java
@@ -90,11 +90,11 @@
 @SuppressWarnings("restriction")
 @RunWith(DatabindingClassRunner.class)
 public class SWTTableDatabindingLabel_PTest {
-	private static final IObservableValue<String> DISPLAYNAME = Observables.constantObservableValue("displayname");
-	private static final IObservableValue<String> DISPLAYNAME_COLUMNS = Observables
+	private static final IObservableValue DISPLAYNAME = Observables.constantObservableValue("displayname");
+	private static final IObservableValue DISPLAYNAME_COLUMNS = Observables
 		.constantObservableValue("displayname-columns");
-	private static final IObservableValue<String> DESCRIPTION = Observables.constantObservableValue("description");
-	private static final IObservableValue<String> DESCRIPTION_COLUMNS = Observables
+	private static final IObservableValue DESCRIPTION = Observables.constantObservableValue("description");
+	private static final IObservableValue DESCRIPTION_COLUMNS = Observables
 		.constantObservableValue("description-columns");
 	private EMFFormsDatabindingEMF databindingService;
 	private TableControlSWTRenderer renderer;
diff --git a/tests/org.eclipse.emfforms.core.services.emf.tests/src/org/eclipse/emfforms/internal/core/services/label/EMFFormsLabelProviderDefaultImpl_Test.java b/tests/org.eclipse.emfforms.core.services.emf.tests/src/org/eclipse/emfforms/internal/core/services/label/EMFFormsLabelProviderDefaultImpl_Test.java
index 9cd648e..2afb91a 100644
--- a/tests/org.eclipse.emfforms.core.services.emf.tests/src/org/eclipse/emfforms/internal/core/services/label/EMFFormsLabelProviderDefaultImpl_Test.java
+++ b/tests/org.eclipse.emfforms.core.services.emf.tests/src/org/eclipse/emfforms/internal/core/services/label/EMFFormsLabelProviderDefaultImpl_Test.java
@@ -105,7 +105,7 @@
 		final EClass eClass = EcoreFactory.eINSTANCE.createEClass();
 		when(structuralFeature.getEContainingClass()).thenReturn(eClass);
 		when(structuralFeature.getName()).thenReturn(expectedResult.toLowerCase());
-		final String result = labelProvider.getDisplayName(structuralFeature).getValue();
+		final String result = (String) labelProvider.getDisplayName(structuralFeature).getValue();
 
 		assertEquals(expectedResult, result);
 	}
@@ -127,7 +127,7 @@
 		when(itemPropertyDescriptor.getDisplayName(any(Object.class))).thenReturn(expectedResult);
 		when(valueProperty.getValueType()).thenReturn(structuralFeature);
 
-		final String result = labelProvider.getDisplayName(structuralFeature).getValue();
+		final String result = (String) labelProvider.getDisplayName(structuralFeature).getValue();
 
 		verify(itemPropertyDescriptor).getDisplayName(any(D.class));
 		assertEquals(expectedResult, result);
@@ -153,7 +153,7 @@
 		when(databindingService.getValueProperty(same(domainModelReference), isNull(EObject.class)))
 			.thenReturn(valueProperty);
 
-		final IObservableValue<String> result = labelProvider.getDisplayName(domainModelReference);
+		final IObservableValue result = labelProvider.getDisplayName(domainModelReference);
 
 		verify(databindingService).getValueProperty(same(domainModelReference), isNull(EObject.class));
 		verify(itemPropertyDescriptor).getDisplayName(any(D.class));
@@ -190,7 +190,7 @@
 		when(valueProperty.getValueType()).thenReturn(structuralFeature);
 		when(databindingService.getValueProperty(domainModelReference, eClass)).thenReturn(valueProperty);
 
-		final IObservableValue<String> result = labelProvider.getDisplayName(domainModelReference, eClass);
+		final IObservableValue result = labelProvider.getDisplayName(domainModelReference, eClass);
 
 		verify(databindingService).getValueProperty(domainModelReference, eClass);
 		verify(itemPropertyDescriptor).getDisplayName(any(D.class));
@@ -247,7 +247,7 @@
 		when(observableValue.getValueType()).thenReturn(structuralFeature);
 		when(observableValue.getObserved()).thenReturn(value);
 		when(databindingService.getObservableValue(domainModelReference, eObject)).thenReturn(observableValue);
-		final IObservableValue<String> result = labelProvider.getDisplayName(domainModelReference, eObject);
+		final IObservableValue result = labelProvider.getDisplayName(domainModelReference, eObject);
 
 		verify(databindingService).getObservableValue(domainModelReference, eObject);
 		verify(itemPropertyDescriptor).getDisplayName(value);
@@ -305,7 +305,7 @@
 		when(databindingService.getValueProperty(same(domainModelReference), isNull(EObject.class)))
 			.thenReturn(valueProperty);
 
-		final IObservableValue<String> result = labelProvider.getDescription(domainModelReference);
+		final IObservableValue result = labelProvider.getDescription(domainModelReference);
 
 		verify(databindingService).getValueProperty(same(domainModelReference), isNull(EObject.class));
 		assertEquals(expectedResult, result.getValue());
@@ -331,7 +331,7 @@
 		when(databindingService.getValueProperty(same(domainModelReference), isNull(EObject.class)))
 			.thenReturn(valueProperty);
 
-		final IObservableValue<String> result = labelProvider.getDescription(domainModelReference);
+		final IObservableValue result = labelProvider.getDescription(domainModelReference);
 
 		verify(databindingService).getValueProperty(same(domainModelReference), isNull(EObject.class));
 		verify(itemPropertyDescriptor).getDescription(any(D.class));
@@ -368,7 +368,7 @@
 		when(valueProperty.getValueType()).thenReturn(structuralFeature);
 		when(databindingService.getValueProperty(domainModelReference, eClass)).thenReturn(valueProperty);
 
-		final IObservableValue<String> result = labelProvider.getDescription(domainModelReference, eClass);
+		final IObservableValue result = labelProvider.getDescription(domainModelReference, eClass);
 
 		verify(databindingService).getValueProperty(domainModelReference, eClass);
 		verify(itemPropertyDescriptor).getDescription(any(D.class));
@@ -425,7 +425,7 @@
 		when(observableValue.getValueType()).thenReturn(structuralFeature);
 		when(observableValue.getObserved()).thenReturn(value);
 		when(databindingService.getObservableValue(domainModelReference, eObject)).thenReturn(observableValue);
-		final IObservableValue<String> result = labelProvider.getDescription(domainModelReference, eObject);
+		final IObservableValue result = labelProvider.getDescription(domainModelReference, eObject);
 
 		verify(databindingService).getObservableValue(domainModelReference, eObject);
 		verify(itemPropertyDescriptor).getDescription(value);
diff --git a/tests/org.eclipse.emfforms.core.services.emf.tests/src/org/eclipse/emfforms/internal/core/services/label/EMFFormsLabelProviderImpl_Test.java b/tests/org.eclipse.emfforms.core.services.emf.tests/src/org/eclipse/emfforms/internal/core/services/label/EMFFormsLabelProviderImpl_Test.java
index 91c9eff..1423512 100644
--- a/tests/org.eclipse.emfforms.core.services.emf.tests/src/org/eclipse/emfforms/internal/core/services/label/EMFFormsLabelProviderImpl_Test.java
+++ b/tests/org.eclipse.emfforms.core.services.emf.tests/src/org/eclipse/emfforms/internal/core/services/label/EMFFormsLabelProviderImpl_Test.java
@@ -24,6 +24,7 @@
 
 import java.text.MessageFormat;
 
+import org.eclipse.core.databinding.observable.IObserving;
 import org.eclipse.core.databinding.observable.value.IObservableValue;
 import org.eclipse.emf.databinding.IEMFValueProperty;
 import org.eclipse.emf.ecore.EClass;
@@ -50,6 +51,15 @@
 @SuppressWarnings("deprecation")
 public class EMFFormsLabelProviderImpl_Test {
 
+	/**
+	 * Helper Interface for mocking.
+	 *
+	 * @author Eugen Neufeld
+	 *
+	 */
+	public interface TestObservableValue extends IObservableValue, IObserving {
+	}
+
 	private EMFFormsLabelProviderImpl labelProvider;
 	private EMFFormsDatabindingEMF databinding;
 	private DefaultRealm realm;
@@ -130,7 +140,7 @@
 		final String value = "My Value"; //$NON-NLS-1$
 		when(localizationService.getString(mockedBundle, key)).thenReturn(value);
 
-		final IObservableValue<String> displayName = labelProvider.getDisplayName(domainModelReference);
+		final IObservableValue displayName = labelProvider.getDisplayName(domainModelReference);
 		assertEquals(value, displayName.getValue());
 	}
 
@@ -189,7 +199,7 @@
 		final String value = "My Value"; //$NON-NLS-1$
 		when(localizationService.getString(mockedBundle, key)).thenReturn(value);
 
-		final IObservableValue<String> displayName = labelProvider.getDisplayName(domainModelReference, eObject);
+		final IObservableValue displayName = labelProvider.getDisplayName(domainModelReference, eObject);
 		assertEquals(value, displayName.getValue());
 
 	}
@@ -247,7 +257,7 @@
 			localizationService.getString(mockedBundle,
 				String.format("_UI_%1$s_type", EcorePackage.eINSTANCE.getEObject().getName()))).thenReturn(eObjectText); //$NON-NLS-1$
 
-		final IObservableValue<String> description = labelProvider.getDescription(domainModelReference);
+		final IObservableValue description = labelProvider.getDescription(domainModelReference);
 		assertEquals(MessageFormat.format(descriptionPlaceHolder, featureText, eObjectText), description.getValue());
 	}
 
@@ -313,7 +323,7 @@
 			localizationService.getString(mockedBundle,
 				String.format("_UI_%1$s_type", EcorePackage.eINSTANCE.getEObject().getName()))).thenReturn(eObjectText); //$NON-NLS-1$
 
-		final IObservableValue<String> description = labelProvider.getDescription(domainModelReference, eObject);
+		final IObservableValue description = labelProvider.getDescription(domainModelReference, eObject);
 		assertEquals(MessageFormat.format(descriptionPlaceHolder, featureText, eObjectText), description.getValue());
 	}
 
@@ -364,10 +374,8 @@
 		when(localizationService.getString(mockedBundle, keyDisplayName)).thenReturn(valueDisplayName,
 			valueDisplayNameNew);
 
-		final IObservableValue<String> labelObservableValue = labelProvider.getDisplayName(domainModelReference,
-			eObject);
-		final IObservableValue<String> descriptionObservableValue = labelProvider.getDescription(domainModelReference,
-			eObject);
+		final IObservableValue labelObservableValue = labelProvider.getDisplayName(domainModelReference, eObject);
+		final IObservableValue descriptionObservableValue = labelProvider.getDescription(domainModelReference, eObject);
 		assertEquals(valueDisplayName, labelObservableValue.getValue());
 		assertEquals(valueDescription, descriptionObservableValue.getValue());
 
diff --git a/tests/org.eclipse.emfforms.swt.common.test/src/org/eclipse/emfforms/swt/common/test/AbstractControl_PTest.java b/tests/org.eclipse.emfforms.swt.common.test/src/org/eclipse/emfforms/swt/common/test/AbstractControl_PTest.java
index 2c2b1a4..b8df104 100644
--- a/tests/org.eclipse.emfforms.swt.common.test/src/org/eclipse/emfforms/swt/common/test/AbstractControl_PTest.java
+++ b/tests/org.eclipse.emfforms.swt.common.test/src/org/eclipse/emfforms/swt/common/test/AbstractControl_PTest.java
@@ -205,10 +205,8 @@
 	protected void labelServiceUsage() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption,
 		NoLabelFoundException {
 		reset(getLabelProvider());
-		final IObservableValue<String> testDescription = Observables.constantObservableValue("test-description",
-			String.class);
-		final IObservableValue<String> testDisplayName = Observables.constantObservableValue("test-displayname",
-			String.class);
+		final IObservableValue testDescription = Observables.constantObservableValue("test-description", String.class);
+		final IObservableValue testDisplayName = Observables.constantObservableValue("test-displayname", String.class);
 		when(getLabelProvider().getDescription(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
 			testDescription);
 		when(getLabelProvider().getDisplayName(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
diff --git a/tests/org.eclipse.emfforms.swt.reference.table.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emfforms.swt.reference.table.test/META-INF/MANIFEST.MF
index 59cae1d..cc483ae 100644
--- a/tests/org.eclipse.emfforms.swt.reference.table.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emfforms.swt.reference.table.test/META-INF/MANIFEST.MF
@@ -19,7 +19,7 @@
  org.eclipse.emfforms.view.model.localization;bundle-version="[1.22.0,1.23.0)",
  org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
  org.eclipse.swtbot.swt.finder;bundle-version="[2.7.0,3.0.0)",
- org.eclipse.swt;bundle-version="[3.110.0,4.0.0)"
+ org.eclipse.swt;bundle-version="[3.107.0,4.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emfforms.swt.reference.table.test
 Import-Package: org.eclipse.emf.ecp.spi.common.ui;version="[1.22.0,1.23.0)",