@Override
  public synchronized void dispose() {
    final Object t = myT;
    myT = null;
    if (t instanceof Disposable && !Disposer.isDisposed((Disposable) t)) {
      Disposer.dispose((Disposable)t);
    }

    remove();
  }
@Override
  public synchronized void dispose()