/**@class java.lang.ThreadLocal
@extends java.lang.Object

 Implements a thread-local storage, that is, a variable for which each thread
 has its own value. All threads share the same {@code ThreadLocal} object,
 but each sees a different value when accessing it, and changes made by one
 thread do not affect the other threads. The implementation supports
 {@code null} values.

 @see java.lang.Thread
 @author Bob Lee
*/
var ThreadLocal = {

/**Returns the value of this variable for the current thread. If an entry
 doesn't yet exist for this variable on this thread, this method will
 create an entry, populating the value with the result of
 {@link #initialValue}().
@return {Object {java.lang.Object}} the current value of the variable for the calling thread.
*/
get : function(  ) {},

/**Sets the value of this variable for the current thread. If set to
 {@code null}, the value will be set to null and the underlying entry will
 still be present.
@param {Object {Object}} value the new value of the variable for the caller thread.
*/
set : function(  ) {},

/**Removes the entry for this variable in the current thread. If this call
 is followed by a {@link #get}() before a {@link #set},
 {@code #get()} will call {@link #initialValue}() and create a new
 entry with the resulting value.
@since 1.5
*/
remove : function(  ) {},


};