@Override
  protected Optional<Change> fix(ExpressionTree tree, VisitorState state, NameSuggester suggester) {
    return Change.of(definiteFix(tree, state));
  }
@Test
  public void fix() {
    BugCheckerRefactoringTestHelper.newInstance(StreamResourceLeak.class, getClass())
        .addInputLines(
            "in/Test.java",
            "import java.io.IOException;",
            "import java.nio.file.Files;",
            "import java.nio.file.Path;",
            "import java.util.stream.Collectors;",
            "class Test {",
            "  String f(Path p) throws IOException {",
            "    return Files.lines(p).collect(Collectors.joining(\", \"));",
            "  }",
            "}")
        .addOutputLines(
            "out/Test.java",
            "import java.io.IOException;",
            "import java.nio.file.Files;",
            "import java.nio.file.Path;",
            "import java.util.stream.Collectors;",
            "import java.util.stream.Stream;",
            "class Test {",
            "  String f(Path p) throws IOException {",
            "    try (Stream<String> stream = Files.lines(p)) {",
            "      return stream.collect(Collectors.joining(\", \"));",
            "    }",
            "  }",
            "}")
        .doTest();
  }