Bug 262392 [DataBinding] CompositeMap constructor should use this.firstMap
Using EclEmma, I noticed that large portions of BidiObservableMap are not run, indicating a problem in CompositeMap. This needs more thought. I am attaching a patch, it includes one test case but we may want to add more tests.
bundles/org.eclipse.core.databinding/src/org/eclipse/core/databinding/observable/map/CompositeMap.java
* A read-only observable map formed by the composition of two observable maps.
 * If map1 maps keys a:A to values b1:B, and map2 maps keys b2:B to values c:C,
 * the composite map maps keys a:A to values c:C. For example, map1 could map
 * Order objects to their corresponding Customer objects, and map2 could map
 * Customer objects to their "last name" property of type String. The composite
 * map of map1 and map2 would then map Order objects to their customers' last
 * names.
 * 
 * <p>
 * This class is thread safe. All state accessing methods must be invoked from
 * the {@link Realm#isCurrent() current realm}. Methods for adding and removing
 * listeners may be invoked from any thread.
 * </p>
 * 
 * @since 1.1
 * 
 */
public class CompositeMap extends ObservableMap {
	
	
	private Set pendingAdds = new HashSet();
	
	
	private Map pendingRemoves = new HashMap();
	
	
	
	private Map pendingChanges = new HashMap();
	private IMapChangeListener firstMapListener = new IMapChangeListener() {
		public void handleMapChange(MapChangeEvent event) {