@Test
public void simple() throws Exception {

  SimpleFactory.Simple simple = factory.simple("b");
  SimpleFactoryBuilders.SimpleUpdater updater = updaterFactory.updater(simple);
  SimpleFactory.Simple updatedSimple = updater
      .appendix("c")
      .done();
  assertThat(simple.concat(), is("ab"));
  assertThat(updatedSimple.concat(), is("ac"));
  // updater is recycled
  assertTrue(updater
      == updaterFactory.updater(factory.simple("x")));
}