public WeakReference<Object> get(Object obj)
		{
			WeakReference<Object> res = null;
			Long id = (long) System.identityHashCode(obj);
			List<WeakReference<Object>> bucket = buckets.get(id);
			if (bucket != null)
			{
				synchronized (bucket)
				{
					// iterate over the references in the bucket until we find
					// one
					// that references obj
					for (WeakReference<Object> ref : bucket)
					{
						if (obj == ref.get())
						{
							res = ref;
							break;
						}
					}
				}
			}
			return res;
		}