@Test public void builderPopToExplodesOnMissingState() {

  History.Builder builder = History.emptyBuilder();
  builder.push(ABLE);
  builder.push(BAKER);
  builder.push(CHARLIE);
  try {
    builder.popTo(new Object());
    fail("Missing state object, should have thrown");
  } catch (IllegalArgumentException ignored) {
    // Correct!
  }
}