WeakReference<T> ref = delegate.get(); if(ref == null) return null; return ref.get();
delegate.remove();
delegate.set(new WeakReference<T>(value));