Bug 127861 [DataBinding] Mark API provisional
bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/databinding/beans/NestedUpdatableFactory.java
Property propertyDescription = (Property) description;
			Object o = propertyDescription.getObject();
			if (o instanceof IUpdatableValue) {
				IUpdatableValue updatableValue = (IUpdatableValue) o;
				Class propertyType = propertyDescription
						.getPropertyType();
				if (propertyType == null) {
					throw new BindingException(
							"Missing required property type for binding to a property of an IUpdatableValue."); 
				}
				Boolean isCollectionProperty = propertyDescription
						.isCollectionProperty();
				if (isCollectionProperty == null) {
					throw new BindingException(
							"Missing required property collection information for binding to a property of an IUpdatableValue."); 
				}
				Object propertyID = propertyDescription.getPropertyID();
				if (isCollectionProperty.booleanValue()) {
					return new NestedUpdatableCollection(
							bindingContext, updatableValue,
							propertyID, propertyType);
				}
				return new NestedUpdatableValue(
						bindingContext, updatableValue,
						propertyID, propertyType);
			} else if (o instanceof List) {
				return new ListUpdatableCollection(
						(List) o,
						propertyDescription.getPropertyType() == null ? Object.class
								: propertyDescription.getPropertyType());