public static UDoWhileLoop create(UStatement body, UExpression condition) {
    return new AutoValue_UDoWhileLoop((USimpleStatement) body, condition);
  }
@Test
  public void serialization() {
    SerializableTester.reserializeAndAssert(
        UDoWhileLoop.create(
            UBlock.create(
                UExpressionStatement.create(
                    UAssign.create(
                        ULocalVarIdent.create("old"),
                        UMethodInvocation.create(
                            UMemberSelect.create(
                                UFreeIdent.create("str"),
                                "indexOf",
                                UMethodType.create(
                                    UPrimitiveType.INT, UPrimitiveType.INT, UPrimitiveType.INT)),
                            ULiteral.charLit(' '),
                            UBinary.create(
                                Kind.PLUS, ULocalVarIdent.create("old"), ULiteral.intLit(1)))))),
            UParens.create(
                UBinary.create(
                    Kind.NOT_EQUAL_TO, ULocalVarIdent.create("old"), ULiteral.intLit(-1)))));
  }