@Test public void batchInvokedWithPostConversionThatThrows() {

  MyUncheckedException exception = new MyUncheckedException();
  Funnel.Batch<Integer, String> toSpell = funnel.through(batch::send);
  Function<String, String> throwingFunction = s -> {throw exception;};
  toSpell.accept(1, throwingFunction);
  toSpell.accept(2);
  when(batch.send(asList(1, 2))).thenReturn(asList("one", "two"));
  assertThrows(MyUncheckedException.class, funnel::run);
  Mockito.verify(batch).send(asList(1, 2));
  Mockito.verifyNoMoreInteractions(batch);
}