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
private boolean removeMapping(Object key, Object value) {
		Object elementOrSet = valueToElements.get(value);
		if (elementOrSet instanceof Set) {
			Set set = (Set) elementOrSet;
			set.remove(key);
			if (set.size() == 0) {
				valueToElements.remove(value);
				return true;
			}
			return false;
		}
		valueToElements.remove(value);
		return true;
	}
	private Set getElementsForValue(Object value) {
		Object elementOrSet = valueToElements.get(value);
		if (elementOrSet instanceof Set) {
			return (Set) elementOrSet;
		}
		return elementOrSet == null ? Collections.EMPTY_SET : Collections
				.singleton(elementOrSet);
	}
	public synchronized void dispose() {
		super.dispose();
		firstMap.removeMapChangeListener(firstMapListener);
		firstMap = null;
		secondMap = null;
	}
}