src/main/java/org/wymiwyg/commons/util/collections/BidiMapImpl.java
public V put(K key, V value) {
		//remove possible existing with same value

		if (backward.containsKey(value)) {
			K oldKey = backward.get(value);
			forward.remove(oldKey);
		}
		if (forward.containsKey(key)) {
			V oldValue = forward.get(key);
			backward.remove(oldValue);
		}
		backward.put(value, key);
		return forward.put(key, value);
	}
public V put(K key, V value) {
		//remove possible existing with same value

		if (backward.containsKey(value)) {
			K oldKey = backward.get(value);
			forward.remove(oldKey);
		}
		if (forward.containsKey(key)) {
			V oldValue = forward.get(key);
			backward.remove(oldValue);
		}
		backward.put(value, key);
		return forward.put(key, value);
	}
/* (non-Javadoc)
@see java.util.Map#put(K, V)