Bug 126839 [DataBinding] IObservable refactoring
bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/internal/databinding/swt/ListUpdatableValue.java
this.attribute = attribute;
		
		if ((list.getStyle()&SWT.MULTI)>0) {
			throw new IllegalArgumentException("SWT.SINGLE support only for a List selection"); 
		}
		
		if (attribute.equals(SWTProperties.SELECTION)) {
			list.addListener(SWT.Selection, new Listener(){			
				public void handleEvent(Event event) {
					if (!updating) {
						fireChangeEvent(ChangeEvent.CHANGE, null, null);
					}		
				}
			
			});
		} else {
			throw new IllegalArgumentException();
		}
	}
	public void setValue(Object value) {
		String oldValue = null;
		if (list.getSelection()!=null && list.getSelection().length>0) {
			oldValue = list.getSelection()[0];
		}
		try {
			updating = true;
			if (attribute.equals(SWTProperties.SELECTION)) {
				String items[] = list.getItems();
				int index = -1;
				if (items != null && value != null) {