public static <S> RemoteIterator<S> filteringRemoteIterator(
      RemoteIterator<S> iterator,
      FunctionRaisingIOE<? super S, Boolean> filter) {
    return new FilteringRemoteIterator<>(iterator, filter);
  }
@Test
  public void testFilterNoneAccepted() throws Throwable {
    // nothing gets through
    RemoteIterator<Integer> it = filteringRemoteIterator(
        new CountdownRemoteIterator(100),
        i -> false);
    verifyInvoked(it, 0, c -> counter++);
    assertCounterValue(0);
    extractStatistics(it);
  }