@Override
      public T get() throws E {
        T value = (myRef == null? null : myRef.get());
        if (value == null) {
          myRef = new WeakReference<>(value = delegate.get());
        }
        return value;
      }
@Override
      public T get()