Bug 17256 Exception due to bug 17208
bundles/org.eclipse.core.databinding/src/org/eclipse/core/databinding/conversion/IdentityConverter.java
{ Long.TYPE, Long.class }, { Double.TYPE, Double.class },
			{ Byte.TYPE, Byte.class }, { Float.TYPE, Float.class },
			{ Boolean.TYPE, Boolean.class }, };
	/*
	 * (non-Javadoc)
	 * 
	 * @see org.eclipse.jface.binding.converter.IConverter#convert(java.lang.Object)
	 */
	public Object convert(Object source) {
		if (toType.isPrimitive()) {
			if (source == null) {
				throw new BindingException("Cannot convert null to a primitive"); 
			}
		}
		if (source != null) {
			Class sourceClass = source.getClass();
			if (toType.isPrimitive() || sourceClass.isPrimitive()) {
				if (sourceClass.equals(toType)
						|| isPrimitiveTypeMatchedWithBoxed(sourceClass, toType)) {
					return source;
				}
				throw new BindingException(
						"Boxed and unboxed types do not match"); 
			}
			if (!toType.isAssignableFrom(sourceClass)) {
				throw new BindingException(sourceClass.getName()
						+ " is not assignable to " + toType.getName()); 
			}
		}
		return source;