### Question:
RxJavaDemo implements ReactiveStreamsDemo { public static int countUsingBackpressure(long sleepMillis) throws InterruptedException { AtomicInteger count = new AtomicInteger(0); Flowable<Long> interval = Observable.interval(1, TimeUnit.MILLISECONDS) .toFlowable(BackpressureStrategy.LATEST) .take(2000); interval.subscribe(x -> { Thread.sleep(100); count.incrementAndGet(); }); Thread.sleep(sleepMillis); return count.get(); }  static List<Integer> doSquares(); static List<Integer> doParallelSquares(); @Override Future<List<Integer>> doSquaresAsync(int count); @Override Future<String> doStringConcatAsync(int count); @Override Future<List<Integer>> doParallelSquaresAsync(int count); @Override Future<String> doParallelStringConcatAsync(int count); static void runComputation(); static void writeFile(File file); static void readFile(File file); static void readFile2(File file); static int countUsingBackpressure(long sleepMillis);  }### Answer:
@Test public void testBackpressure() throws InterruptedException { assertEquals(10, demo.countUsingBackpressure(1050)); }