@Override
      public void addListener(final Listener<T> listener, final Disposable parent) {
        myListeners.add(listener);
        Disposer.register(parent, new Disposable() {
          @Override
          public void dispose() {
            myListeners.remove(listener);
          }
        });
      }
@Override
      public void addListener(final Listener<T> listener, final Disposable parent)