public static UForLoop create(
      Iterable<? extends UStatement> initializer,
      @Nullable UExpression condition,
      Iterable<? extends UExpressionStatement> update,
      UStatement statement) {
    return new AutoValue_UForLoop(
        ImmutableList.copyOf(initializer),
        condition,
        ImmutableList.copyOf(update),
        (USimpleStatement) statement);
  }
@Test
  public void serialization() {
    SerializableTester.reserializeAndAssert(
        UForLoop.create(
            ImmutableList.of(
                UVariableDecl.create("i", UPrimitiveTypeTree.INT, UFreeIdent.create("from"))),
            UBinary.create(Kind.LESS_THAN, ULocalVarIdent.create("i"), UFreeIdent.create("to")),
            ImmutableList.of(
                UExpressionStatement.create(
                    UUnary.create(Kind.POSTFIX_INCREMENT, ULocalVarIdent.create("i")))),
            UBlock.create()));
  }