public static UIf create(
      UExpression condition, UStatement thenStatement, UStatement elseStatement) {
    return new AutoValue_UIf(condition, thenStatement, elseStatement);
  }
@Test
  public void inlineWithElse() {
    UIf ifTree =
        UIf.create(
            UFreeIdent.create("cond"),
            UBlock.create(
                UExpressionStatement.create(
                    UAssign.create(UFreeIdent.create("x"), UFreeIdent.create("y")))),
            UBlock.create(
                UExpressionStatement.create(
                    UAssign.create(UFreeIdent.create("x"), UFreeIdent.create("z")))));
    bind(new UFreeIdent.Key("cond"), parseExpression("true"));
    bind(new UFreeIdent.Key("x"), parseExpression("x"));
    bind(new UFreeIdent.Key("y"), parseExpression("\"foo\""));
    bind(new UFreeIdent.Key("z"), parseExpression("\"bar\""));
    assertInlines(
        Joiner.on(System.lineSeparator())
            .join(
                "if (true) {", //
                "    x = \"foo\";",
                "} else {",
                "    x = \"bar\";",
                "}"),
        ifTree);
  }