NonBlockingReadAction<T> (@NotNull Disposable parentDisposable) { Set<Disposable> disposables = new HashSet<>(myDisposables); disposables.add(parentDisposable); return new NonBlockingReadActionImpl<>(myOriginalComputation, myModalityState, myUiThreadAction, myConstraints, myCancellationConditions, disposables, myCoalesceEquality, myProgressIndicator); }