@Override protected void onNext(Context context, Subscriber<? super T> subscriber, T data) { AtomicLong count = subs.get(subscriber); if (count == null) return; // Means we already completed it long remaining = count.decrementAndGet(); super.onNext(context, subscriber, data); if (remaining == 0) { close(); } }