@Override
  public void dispose() {
    //assert !disposed : "Already disposed";

    isDisposing = true;

    for (int i = myDisposables.size() - 1; i >= 0; i--) {
      Disposable disposable = myDisposables.get(i);
      Disposer.dispose(disposable);
    }

    isDisposing = false;
    myDisposables.clear();
    disposed = true;
  }
@Override
  public void dispose()