Bug 126839 [DataBinding] IObservable refactoring
bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/internal/databinding/beans/CopyOfJavaBeanUpdatableCollection.java
Collection c = collection();
				oldValue = findElement(index);
				try {
					
					Method setMethod = c.getClass().getMethod("set", new Class[] {Integer.TYPE, Object.class}); 
					setMethod.invoke(c, new Object[] {new Integer(index), value});
				} catch (Exception e) {
					
					if (oldValue != null) {
						c.remove(oldValue);
					}
					c.add(value);
				}
			}
			fireChangeEvent(ChangeEvent.CHANGE, oldValue, value, index);
		} finally {
			updating = false;
		}
	}
	public Object computeElement(int index) {
		if (descriptor.getPropertyType().isArray()) {
			return array()[index];
		}
		return findElement(index);
	}
	public Class getElementType() {		
		return elementType;
	}
}