Object value = valueMap.get(currentThread);
Object value = map.get(key);
  public Object get()  {		Thread currentThread = Thread.currentThread();		// Note that we don't have to synchronize, as only this thread will    // ever modify the returned value and valueMap is a synchronizedMap.		Object value = valueMap.get(currentThread);    if (value == null)      {			value = initialValue();			valueMap.put(currentThread, value == null ? NULL : value);		}		return value == NULL ? null : value;	}