Bug 126839 [DataBinding] IObservable refactoring
bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/internal/provisional/databinding/beans/NestedUpdatableFactory.java
******************************************************************************/
package org.eclipse.jface.internal.provisional.databinding.beans;
import java.beans.BeanInfo;
import java.beans.Introspector;
import java.beans.PropertyDescriptor;
import java.util.List;
import java.util.Map;
import java.util.StringTokenizer;
import org.eclipse.jface.internal.databinding.ListUpdatableCollection;
import org.eclipse.jface.internal.databinding.NestedUpdatableCellProvider;
import org.eclipse.jface.internal.databinding.NestedUpdatableCollection;
import org.eclipse.jface.internal.databinding.NestedUpdatableTree;
import org.eclipse.jface.internal.databinding.NestedUpdatableValue;
import org.eclipse.jface.internal.provisional.databinding.BindingException;
import org.eclipse.jface.internal.provisional.databinding.IDataBindingContext;
import org.eclipse.jface.internal.provisional.databinding.IUpdatable;
import org.eclipse.jface.internal.provisional.databinding.IUpdatableFactory;
import org.eclipse.jface.internal.provisional.databinding.IUpdatableTree;
import org.eclipse.jface.internal.provisional.databinding.IUpdatableValue;
import org.eclipse.jface.internal.provisional.databinding.NestedProperty;
import org.eclipse.jface.internal.provisional.databinding.Property;
import org.eclipse.jface.internal.provisional.databinding.TreeModelDescription;
public class NestedUpdatableFactory implements IUpdatableFactory {
	public IUpdatable createUpdatable(Map properties,
			Object description, IDataBindingContext bindingContext) {
		if (description instanceof NestedProperty) {
			return createNestedUpdatable((NestedProperty)description, bindingContext);
		} else if (description instanceof Property) {
			Property propertyDescription = (Property) description;
			Object o = propertyDescription.getObject();