Bug 315281 update copyrights for 3.6
bundles/org.eclipse.core.databinding.observable/src/org/eclipse/core/internal/databinding/identity/IdentityMap.java
}
			public Object[] toArray(Object[] a) {
				int size = wrappedKeySet.size();
				IdentityWrapper[] wrappedArray = (IdentityWrapper[]) wrappedKeySet
						.toArray(new IdentityWrapper[size]);
				Object[] result = a;
				if (a.length < size) {
					result = (Object[]) Array.newInstance(a.getClass()
							.getComponentType(), size);
				}
				for (int i = 0; i < size; i++)
					result[i] = wrappedArray[i].unwrap();
				return result;
			}
			public boolean equals(Object obj) {
				if (obj == this)
					return true;
				if (obj == null || !(obj instanceof Set))
					return false;
				Set that = (Set) obj;
				return this.size() == that.size() && containsAll(that);
			}
			public int hashCode() {
				return wrappedKeySet.hashCode();
			}
		};
	}
	public Object put(Object key, Object value) {
		return wrappedMap.put(IdentityWrapper.wrap(key), value);
	}