public static UWhileLoop create(UExpression condition, UStatement body) {
    return new AutoValue_UWhileLoop(condition, (USimpleStatement) body);
  }
@Test
  public void serialization() {
    SerializableTester.reserializeAndAssert(
        UWhileLoop.create(
            UParens.create(
                UMethodInvocation.create(
                    UMemberSelect.create(
                        UFreeIdent.create("itr"),
                        "hasNext",
                        UMethodType.create(UPrimitiveType.BOOLEAN)))),
            UBlock.create(
                UExpressionStatement.create(
                    UMethodInvocation.create(
                        UMemberSelect.create(
                            UFreeIdent.create("itr"),
                            "next",
                            UMethodType.create(UTypeVar.create("E"))))))));
  }