@Override
  protected void route(List<SendingMailbox> sendingMailboxes, TransferableBlock block)
      throws Exception {
    sendBlock(sendingMailboxes.get(0), block);
  }
@Test
  public void shouldRouteSingleton()
      throws Exception {
    // Given:
    ImmutableList<SendingMailbox> destinations = ImmutableList.of(_mailbox1);

    // When:
    new SingletonExchange(destinations, TransferableBlockUtils::splitBlock).route(destinations, _block);

    // Then:
    ArgumentCaptor<TransferableBlock> captor = ArgumentCaptor.forClass(TransferableBlock.class);
    // Then:
    Mockito.verify(_mailbox1, Mockito.times(1)).send(captor.capture());
    Assert.assertEquals(captor.getValue(), _block);
  }