@Test public void reverseIterator() {

  List<Object> paths = new ArrayList<>(Arrays.<Object>asList(ABLE, BAKER, CHARLIE));
  History history = History.emptyBuilder().pushAll(paths).build();
  Iterator<Object> i = history.reverseIterator();
  while (i.hasNext()) {
    assertThat(i.next()).isSameAs(paths.remove(0));
  }
}