Bug 225425 [DataBinding] Load of known null value in CompositeMap
Found by FindBugs: line 232 The variable referenced at this point is known to be null due to an earlier check against null. Although this is valid, it might be a mistake (perhaps you intended to refer to a different variable, or perhaps the earlier check to see if the variable is null should have been a check to see if it was nonnull). I don't know what the proper fix would be at this point. We also have a bug in Snippet017TableViewerWithDerivedColumns, or in CompositeMap: - start Snippet017 - select "Della Duck" - change Mother to: "Downy O'Drake" expected: Grandmother column for Della Duck changes to "unknown" actual: Grandmother column for Della Duck remains "Downy O'Drake"
bundles/org.eclipse.core.databinding.observable/src/org/eclipse/core/databinding/observable/map/CompositeMap.java
Set rangeSetRemovals = new HashSet();
			final Set adds = new HashSet();
			final Set changes = new HashSet();
			final Set removes = new HashSet();
			final Map oldValues = new HashMap();
			for (Iterator it = diff.getAddedKeys().iterator(); it.hasNext();) {
				Object addedKey = it.next();
				Object newValue = diff.getNewValue(addedKey);
				addMapping(addedKey, newValue);
				if (!rangeSet.contains(newValue)) {
					pendingAdds.add(newValue);
					rangeSetAdditions.add(newValue);
				} else {
					adds.add(addedKey);
					wrappedMap.put(addedKey, secondMap.get(newValue));
				}
			}
			for (Iterator it = diff.getChangedKeys().iterator(); it.hasNext();) {
				Object changedKey = it.next();
				Object oldValue = diff.getOldValue(changedKey);
				Object newValue = diff.getNewValue(changedKey);
				boolean removed = removeMapping(changedKey, oldValue);
				addMapping(changedKey, newValue);
				boolean added = !rangeSet.contains(newValue);
				if (removed) {
					pendingRemoves.put(oldValue, changedKey);
					rangeSetRemovals.add(oldValue);
				}
				if (added) {
					pendingAdds.add(newValue);