.andThen(callbackOf(r -> concurrentAsyncOpsSemaphore.release(), t -> { firstError.compareAndSet(null, t); concurrentAsyncOpsSemaphore.release();
future.andThen(callbackOf((r, throwable) -> { Object response = r != null ? r : throwable != null ? peel(throwable) : NULL_OBJECT; Object oldResponse = responses.put(member, response);