package java.lang;
public class ThreadLocal<T> {
private T value;
private boolean set;
protected T initialValue() {
return null;
}
public T get() {
if (!set) {
value = initialValue();
set = true;
}
return value;
}
public void remove() {
set = false;
}
public void set(T value) {
this.value = value;
set = true;
}
}