Format with google-java-format 1.7

Change-Id: I2c0caa26bd4a6b28ae1a60037863fff2742984d1
diff --git a/src/main/java/com/googlesource/gerrit/plugins/findowners/Action.java b/src/main/java/com/googlesource/gerrit/plugins/findowners/Action.java
index 6da211c..85b3f2a 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/findowners/Action.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/findowners/Action.java
@@ -124,10 +124,7 @@
   static List<String> getReviewers(ChangeData changeData, AccountCache accountCache) {
     try {
       // Reviewers may have no preferred email, skip them if the preferred email is not set.
-      return changeData
-          .reviewers()
-          .all()
-          .stream()
+      return changeData.reviewers().all().stream()
           .map(accountCache::get)
           .flatMap(Streams::stream)
           .map(a -> a.getAccount().getPreferredEmail())
@@ -162,8 +159,17 @@
     int patchset = getValidPatchsetNum(changeData, params.patchset);
     ProjectState projectState = projectCache.get(changeData.project());
     Boolean useCache = params.nocache == null || !params.nocache;
-    OwnersDb db = Cache.getInstance(configFactory, repoManager).get(
-        useCache, projectState, accountCache, emails, repoManager, configFactory, changeData, patchset);
+    OwnersDb db =
+        Cache.getInstance(configFactory, repoManager)
+            .get(
+                useCache,
+                projectState,
+                accountCache,
+                emails,
+                repoManager,
+                configFactory,
+                changeData,
+                patchset);
     Collection<String> changedFiles = changeData.currentFilePaths();
     Map<String, Set<String>> file2Owners = db.findOwners(changedFiles);
 
diff --git a/src/main/java/com/googlesource/gerrit/plugins/findowners/Checker.java b/src/main/java/com/googlesource/gerrit/plugins/findowners/Checker.java
index 7b7540b..21af450 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/findowners/Checker.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/findowners/Checker.java
@@ -47,8 +47,12 @@
   private final ChangeData changeData;
   private int minVoteLevel;
 
-  Checker(GitRepositoryManager repoManager, PluginConfigFactory configFactory,
-          ProjectState projectState, ChangeData changeData, int v) {
+  Checker(
+      GitRepositoryManager repoManager,
+      PluginConfigFactory configFactory,
+      ProjectState projectState,
+      ChangeData changeData,
+      int v) {
     this.repoManager = repoManager;
     this.configFactory = configFactory;
     this.projectState = projectState;
@@ -122,14 +126,15 @@
     ChangeData changeData = null;
     try {
       changeData = StoredValues.CHANGE_DATA.get(engine);
-      Checker checker = new Checker(
-          StoredValues.REPO_MANAGER.get(engine),
-          StoredValues.PLUGIN_CONFIG_FACTORY.get(engine),
-          StoredValues.PROJECT_STATE.get(engine),
-          changeData, minVoteLevel);
+      Checker checker =
+          new Checker(
+              StoredValues.REPO_MANAGER.get(engine),
+              StoredValues.PLUGIN_CONFIG_FACTORY.get(engine),
+              StoredValues.PROJECT_STATE.get(engine),
+              changeData,
+              minVoteLevel);
       return checker.findApproval(
-          StoredValues.ACCOUNT_CACHE.get(engine),
-          StoredValues.EMAILS.get(engine));
+          StoredValues.ACCOUNT_CACHE.get(engine), StoredValues.EMAILS.get(engine));
     } catch (OrmException | IOException e) {
       logger.atSevere().withCause(e).log("Exception for %s ", Config.getChangeId(changeData));
       return 0; // owner approval may or may not be required.
@@ -137,8 +142,7 @@
   }
 
   /** Returns 1 if owner approval is found, -1 if missing, 0 if unneeded. */
-  int findApproval(AccountCache accountCache, Emails emails)
-      throws OrmException, IOException {
+  int findApproval(AccountCache accountCache, Emails emails) throws OrmException, IOException {
     if (isExemptFromOwnerApproval(changeData)) {
       return 0;
     }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/findowners/Config.java b/src/main/java/com/googlesource/gerrit/plugins/findowners/Config.java
index 0653f3f..9d5ec98 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/findowners/Config.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/findowners/Config.java
@@ -107,7 +107,8 @@
     }
     String name = getPluginConfig(projectState).getString(OWNERS_FILE_NAME, defaultName);
     if (name.trim().isEmpty()) {
-      logger.atSevere().log("Project %s has wrong %s: \"%s\" for %s",
+      logger.atSevere().log(
+          "Project %s has wrong %s: \"%s\" for %s",
           projectState.getProject(), OWNERS_FILE_NAME, name, getChangeId(c));
       return defaultName;
     }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/findowners/OwnersDb.java b/src/main/java/com/googlesource/gerrit/plugins/findowners/OwnersDb.java
index 2ae18de..d706f2d 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/findowners/OwnersDb.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/findowners/OwnersDb.java
@@ -16,8 +16,8 @@
 
 import static java.nio.charset.StandardCharsets.UTF_8;
 
-import com.google.common.collect.Ordering;
 import com.google.common.collect.Multimap;
+import com.google.common.collect.Ordering;
 import com.google.common.flogger.FluentLogger;
 import com.google.gerrit.reviewdb.client.Account;
 import com.google.gerrit.reviewdb.client.Project;
@@ -115,8 +115,8 @@
           String found = "Found";
           if (content.isEmpty()) {
             String changeId = Config.getChangeId(changeData);
-            logger.atSevere().log("Missing root %s for %s of %s",
-                ownersFileName, changeId, projectName);
+            logger.atSevere().log(
+                "Missing root %s for %s of %s", ownersFileName, changeId, projectName);
             found = "Missing";
           }
           logs.add(found + " root " + ownersFileName);
@@ -140,8 +140,13 @@
             String filePath = dir + "/" + ownersFileName;
             String content = getFile(readFiles, repo, projectName, id, filePath, logs);
             if (content != null && !content.isEmpty()) {
-              addFile(readFiles, projectName, branch, dir + "/", dir + "/" + ownersFileName,
-                      content.split("\\R"));
+              addFile(
+                  readFiles,
+                  projectName,
+                  branch,
+                  dir + "/",
+                  dir + "/" + ownersFileName,
+                  content.split("\\R"));
             }
             if (stopLooking.contains(dir + "/") || !dir.contains("/")) {
               break; // stop looking through parent directory
@@ -232,8 +237,13 @@
     }
   }
 
-  void addFile(Map<String, String> readFiles, String project, String branch,
-      String dirPath, String filePath, String[] lines) {
+  void addFile(
+      Map<String, String> readFiles,
+      String project,
+      String branch,
+      String dirPath,
+      String filePath,
+      String[] lines) {
     Parser parser = new Parser(readFiles, repoManager, project, branch, filePath, logs);
     Parser.Result result = parser.parseFile(dirPath, lines);
     if (result.stopLooking) {
@@ -338,7 +348,7 @@
           foundStar |= findStarOwner(dirPath + "/", distance, paths, distances);
         }
         if (stopLooking.contains(dirPath + "/") // stop looking parent
-            || foundNoParentGlob                // per-file "set noparent"
+            || foundNoParentGlob // per-file "set noparent"
             || !dirPath.contains("/") /* root */) {
           break;
         }
@@ -407,8 +417,13 @@
   }
 
   /** Returns file content or empty string; uses project+branch+file names. */
-  public static String getRepoFile(Map<String, String> readFiles, GitRepositoryManager repoManager,
-      String project, String branch, String file, List<String> logs) {
+  public static String getRepoFile(
+      Map<String, String> readFiles,
+      GitRepositoryManager repoManager,
+      String project,
+      String branch,
+      String file,
+      List<String> logs) {
     // 'file' must be an absolute path from the root of 'project'.
     logs.add("getRepoFile:" + Parser.getFileKey(project, branch, file));
     file = Util.gitRepoFilePath(file);
@@ -432,8 +447,13 @@
   }
 
   /** Returns file content or empty string; uses Repository. */
-  private static String getFile(Map<String, String> readFiles,
-      Repository repo, String project, ObjectId id, String file, List<String> logs) {
+  private static String getFile(
+      Map<String, String> readFiles,
+      Repository repo,
+      String project,
+      ObjectId id,
+      String file,
+      List<String> logs) {
     file = Util.gitRepoFilePath(file);
     String content = findReadFile(readFiles, project, file);
     if (content == null) {
diff --git a/src/main/java/com/googlesource/gerrit/plugins/findowners/OwnersValidator.java b/src/main/java/com/googlesource/gerrit/plugins/findowners/OwnersValidator.java
index 1b890a8..a91f3e4 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/findowners/OwnersValidator.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/findowners/OwnersValidator.java
@@ -141,9 +141,10 @@
       throw new CommitValidationException("failed to check owners files", e);
     }
     if (checker.hasError()) {
-      checker.addError("See OWNERS file syntax document at "
-          + "https://gerrit.googlesource.com/plugins/find-owners/+/"
-          + "master/src/main/resources/Documentation/syntax.md");
+      checker.addError(
+          "See OWNERS file syntax document at "
+              + "https://gerrit.googlesource.com/plugins/find-owners/+/"
+              + "master/src/main/resources/Documentation/syntax.md");
       throw new CommitValidationException("found invalid owners file", checker.messages);
     }
     return checker.messages;
@@ -179,8 +180,8 @@
     void check(String ownersFileName) throws IOException {
       Map<String, ObjectId> ownerFiles =
           allFiles.entrySet().stream()
-          .filter(e -> ownersFileName.equals(new File(e.getKey()).getName()))
-          .collect(Collectors.toMap(e -> e.getKey(), e -> e.getValue()));
+              .filter(e -> ownersFileName.equals(new File(e.getKey()).getName()))
+              .collect(Collectors.toMap(e -> e.getKey(), e -> e.getValue()));
       String projectName = event.project.getName();
       for (String path : ownerFiles.keySet()) {
         String key = projectName + ":" + path;
@@ -239,7 +240,8 @@
       int num = 0;
       for (String line : lines) {
         checkLine(project, path, ++num, line);
-      };
+      }
+      ;
     }
 
     void checkFile(String project, String path, String content) {
@@ -248,8 +250,8 @@
 
     void checkFile(String project, String path, ObjectLoader ol) {
       try {
-        BufferedReader reader = new BufferedReader(
-            new InputStreamReader(ol.openStream(), StandardCharsets.UTF_8));
+        BufferedReader reader =
+            new BufferedReader(new InputStreamReader(ol.openStream(), StandardCharsets.UTF_8));
         checkFile(project, path, reader.lines().toArray(String[]::new));
       } catch (Exception e) {
         addError("cannot open file: " + path);
@@ -308,9 +310,8 @@
     }
 
     /**
-     * Check if an included file exists and with valid syntax.
-     * An included file could be (1) in the current CL, (2) in the same repository,
-     * (3) in a different repository, (4) in another CL.
+     * Check if an included file exists and with valid syntax. An included file could be (1) in the
+     * current CL, (2) in the same repository, (3) in a different repository, (4) in another CL.
      * Case (4) is not checked yet.
      */
     void checkIncludeOrFile(String project, String path, int num, String line) {
@@ -351,8 +352,9 @@
       }
       // Included file is in repository or other CL.
       addVerboseMsg("check repo file " + key);
-      String content = OwnersDb.getRepoFile(readFiles, repoManager, KPF[1],
-          event.refName, repoFile, new ArrayList<>());
+      String content =
+          OwnersDb.getRepoFile(
+              readFiles, repoManager, KPF[1], event.refName, repoFile, new ArrayList<>());
       if (isNullOrEmpty(content)) {
         addVerboseMsg("cannot find file: " + key);
         // unchecked: including-file-path : line number : source line
@@ -370,7 +372,7 @@
       } else if ((email = Parser.parseEmail(line)) != null) {
         collectEmail(email, project, path, lineNumber);
       } else if ((owners = Parser.parsePerFileOwners(line)) != null) {
-        for (String owner: owners) {
+        for (String owner : owners) {
           if (owner.startsWith("file:")) {
             // Pass the whole line, not just owner, to report any syntax error.,
             checkIncludeOrFile(project, path, lineNumber, line);
@@ -386,11 +388,9 @@
     }
   } // end of inner class Checker
 
-  /**
-   * Return a map from "Path to changed file" to "ObjectId of the file".
-   */
-  private static Map<String, ObjectId> getChangedFiles(
-      RevCommit c, RevWalk revWalk) throws IOException {
+  /** Return a map from "Path to changed file" to "ObjectId of the file". */
+  private static Map<String, ObjectId> getChangedFiles(RevCommit c, RevWalk revWalk)
+      throws IOException {
     final Map<String, ObjectId> content = new HashMap<>();
     visitChangedEntries(
         c,
diff --git a/src/main/java/com/googlesource/gerrit/plugins/findowners/Parser.java b/src/main/java/com/googlesource/gerrit/plugins/findowners/Parser.java
index b26d1a9..faf6141 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/findowners/Parser.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/findowners/Parser.java
@@ -30,18 +30,15 @@
 import java.util.regex.Pattern;
 
 /**
- * Parse lines in an OWNERS file and put them into an OwnersDb.
- * One Parser object should be created to parse only one OWNERS file.
- * It keeps repoManager, project, branch, and filePath of the OWNERS
+ * Parse lines in an OWNERS file and put them into an OwnersDb. One Parser object should be created
+ * to parse only one OWNERS file. It keeps repoManager, project, branch, and filePath of the OWNERS
  * file so it can find files that are included by OWNERS.
  *
- * The usage pattern is:
- *   Parser parser = new Parser(repoManager, project, branch, repoFilePath);
- *   String content = OwnersDb.getRepoFile(readFiles, repoManager, project,
- *                                         branch, repoFilePath, logs);
- *   Parser.Result result = parser.parseFile(dirPath, content);
+ * <p>The usage pattern is: Parser parser = new Parser(repoManager, project, branch, repoFilePath);
+ * String content = OwnersDb.getRepoFile(readFiles, repoManager, project, branch, repoFilePath,
+ * logs); Parser.Result result = parser.parseFile(dirPath, content);
  *
- * OWNERS file syntax, semantics, and examples are included in syntax.md.
+ * <p>OWNERS file syntax, semantics, and examples are included in syntax.md.
  */
 class Parser {
   private static final FluentLogger logger = FluentLogger.forEnclosingClass();
@@ -53,29 +50,29 @@
   protected static final String COMMA = "[\\s]*,[\\s]*"; // used in unit tests
 
   // Separator for project and file paths in an include line.
-  private static final String  COLUMN = "[\\s]*:[\\s]*"; // project:file
+  private static final String COLUMN = "[\\s]*:[\\s]*"; // project:file
 
-  private static final String  BOL = "^[\\s]*";          // begin-of-line
-  private static final String  EOL = "[\\s]*(#.*)?$";    // end-of-line
-  private static final String  GLOB = "[^\\s,=]+";       // a file glob
+  private static final String BOL = "^[\\s]*"; // begin-of-line
+  private static final String EOL = "[\\s]*(#.*)?$"; // end-of-line
+  private static final String GLOB = "[^\\s,=]+"; // a file glob
 
   // TODO: have a more precise email address pattern.
-  private static final String  EMAIL_OR_STAR = "([^\\s<>@,]+@[^\\s<>@#,]+|\\*)";
-  private static final String  EMAIL_LIST =
+  private static final String EMAIL_OR_STAR = "([^\\s<>@,]+@[^\\s<>@#,]+|\\*)";
+  private static final String EMAIL_LIST =
       "(" + EMAIL_OR_STAR + "(" + COMMA + EMAIL_OR_STAR + ")*)";
 
   // A Gerrit project name followed by a column and optional spaces.
-  private static final String  PROJECT_NAME = "([^\\s:]+" + COLUMN + ")?";
+  private static final String PROJECT_NAME = "([^\\s:]+" + COLUMN + ")?";
 
   // A relative or absolute file path name without any column or space character.
-  private static final String  FILE_PATH = "([^\\s:#]+)";
+  private static final String FILE_PATH = "([^\\s:#]+)";
 
-  private static final String  PROJECT_AND_FILE = PROJECT_NAME + FILE_PATH;
+  private static final String PROJECT_AND_FILE = PROJECT_NAME + FILE_PATH;
 
-  private static final String  SET_NOPARENT = "set[\\s]+noparent";
+  private static final String SET_NOPARENT = "set[\\s]+noparent";
 
-  private static final String  FILE_DIRECTIVE = "file:[\\s]*" + PROJECT_AND_FILE;
-  private static final String  INCLUDE_OR_FILE = "(file:[\\s]*|include[\\s]+)";
+  private static final String FILE_DIRECTIVE = "file:[\\s]*" + PROJECT_AND_FILE;
+  private static final String INCLUDE_OR_FILE = "(file:[\\s]*|include[\\s]+)";
 
   // Simple input lines with 0 or 1 sub-pattern.
   private static final Pattern PAT_COMMENT = Pattern.compile(BOL + EOL);
@@ -144,18 +141,32 @@
     }
   }
 
-  Parser(Map<String, String> readFiles, GitRepositoryManager repoManager,
-      String project, String branch, String file) {
+  Parser(
+      Map<String, String> readFiles,
+      GitRepositoryManager repoManager,
+      String project,
+      String branch,
+      String file) {
     init(readFiles, repoManager, project, branch, file, new ArrayList<>());
   }
 
-  Parser(Map<String, String> readFiles, GitRepositoryManager repoManager,
-      String project, String branch, String file, List<String> logs) {
+  Parser(
+      Map<String, String> readFiles,
+      GitRepositoryManager repoManager,
+      String project,
+      String branch,
+      String file,
+      List<String> logs) {
     init(readFiles, repoManager, project, branch, file, logs);
   }
 
-  private void init(Map<String, String> readFiles, GitRepositoryManager repoManager,
-      String project, String branch, String file, List<String> logs) {
+  private void init(
+      Map<String, String> readFiles,
+      GitRepositoryManager repoManager,
+      String project,
+      String branch,
+      String file,
+      List<String> logs) {
     this.readFiles = readFiles;
     this.repoManager = repoManager;
     this.branch = branch;
@@ -201,7 +212,7 @@
     } else {
       projectName = project; // default project name
     }
-    return new String[]{keyword, projectName, m.group(3).trim()};
+    return new String[] {keyword, projectName, m.group(3).trim()};
   }
 
   static String removeExtraSpaces(String s) {
@@ -210,11 +221,12 @@
 
   static String[] parsePerFile(String line) {
     Matcher m = PAT_PER_FILE.matcher(line);
-    if (!m.matches() || !isGlobs(m.group(1).trim())
+    if (!m.matches()
+        || !isGlobs(m.group(1).trim())
         || !PAT_PER_FILE_OWNERS.matcher(m.group(2).trim()).matches()) {
       return null;
     }
-    return new String[]{removeExtraSpaces(m.group(1)), removeExtraSpaces(m.group(2))};
+    return new String[] {removeExtraSpaces(m.group(1)), removeExtraSpaces(m.group(2))};
   }
 
   static String[] parsePerFileOwners(String line) {
@@ -266,14 +278,13 @@
   }
 
   /**
-   * Parse given lines of an OWNERS files; return parsed Result.
-   * It can recursively call itself to parse included files.
+   * Parse given lines of an OWNERS files; return parsed Result. It can recursively call itself to
+   * parse included files.
    *
-   * @param dir is the directory that contains "changed files" of a CL,
-   *        not necessarily the OWNERS or included file directory.
-   *        "owners" found in lines control changed files in 'dir'.
-   *        'dir' ends with '/' or is empty when parsing an included file.
-   * @param  lines are the source lines of the file to be parsed.
+   * @param dir is the directory that contains "changed files" of a CL, not necessarily the OWNERS
+   *     or included file directory. "owners" found in lines control changed files in 'dir'. 'dir'
+   *     ends with '/' or is empty when parsing an included file.
+   * @param lines are the source lines of the file to be parsed.
    * @return the parsed data
    */
   Result parseFile(String dir, String[] lines) {
@@ -301,8 +312,8 @@
   }
 
   /**
-   * Parse a line in OWNERS file and add parsed info into result.
-   * This function should be called only by parseFile and Parser unit tests.
+   * Parse a line in OWNERS file and add parsed info into result. This function should be called
+   * only by parseFile and Parser unit tests.
    *
    * @param result a Result object to keep parsed info.
    * @param dir the path to OWNERS file directory.
@@ -347,7 +358,7 @@
           }
         }
         for (String glob : dirGlobs) {
-          for (String owner: ownerEmails) {
+          for (String owner : ownerEmails) {
             Util.addToMap(result.owner2paths, owner, dir + glob);
           }
         }
@@ -360,11 +371,11 @@
   }
 
   /**
-   * Find and parse an included file and append data to the 'result'.
-   * For an 'include' statement, parsed data is all appended to the given result parameter.
-   * For a 'file:' statement or directive, only owner emails are appended.
-   * If the project+file name is found in the stored result set, the stored result is reused.
-   * The inclusion is skipped if the to be included file is already on the including file stack.
+   * Find and parse an included file and append data to the 'result'. For an 'include' statement,
+   * parsed data is all appended to the given result parameter. For a 'file:' statement or
+   * directive, only owner emails are appended. If the project+file name is found in the stored
+   * result set, the stored result is reused. The inclusion is skipped if the to be included file is
+   * already on the including file stack.
    *
    * @param result to where the included file data should be added.
    * @param dir the including file's directory or glob.
diff --git a/src/test/java/com/googlesource/gerrit/plugins/findowners/ApiIT.java b/src/test/java/com/googlesource/gerrit/plugins/findowners/ApiIT.java
index d8c79b8..5ca6de3 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/findowners/ApiIT.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/findowners/ApiIT.java
@@ -17,8 +17,8 @@
 import static com.google.common.truth.Truth.assertThat;
 import static com.google.common.truth.Truth8.assertThat;
 
-import com.google.common.flogger.FluentLogger;
 import com.google.common.collect.Multimap;
+import com.google.common.flogger.FluentLogger;
 import com.google.gerrit.acceptance.PushOneCommit;
 import com.google.gerrit.acceptance.RestResponse;
 import com.google.gerrit.acceptance.TestPlugin;
@@ -108,13 +108,7 @@
     Action.Parameters param = new Action.Parameters();
     Action action =
         new Action(
-            pluginConfig,
-            null,
-            changeDataFactory,
-            accountCache,
-            emails,
-            repoManager,
-            projectCache);
+            pluginConfig, null, changeDataFactory, accountCache, emails, repoManager, projectCache);
     Response<RestResult> response = action.apply(cr, param);
     RestResult result = response.value();
     verifyRestResult(result, 1, 1, changeInfo._number, false);
diff --git a/src/test/java/com/googlesource/gerrit/plugins/findowners/FindOwners.java b/src/test/java/com/googlesource/gerrit/plugins/findowners/FindOwners.java
index 10e327b..acef31f 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/findowners/FindOwners.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/findowners/FindOwners.java
@@ -100,8 +100,8 @@
     gApi.changes().id(change.getChangeId()).current().submit(new SubmitInput());
   }
 
-  protected PushOneCommit.Result addFile(
-      String subject, String file, String content) throws Exception {
+  protected PushOneCommit.Result addFile(String subject, String file, String content)
+      throws Exception {
     PushOneCommit.Result c = createChange(subject, file, content);
     approveSubmit(c);
     return c;
@@ -155,15 +155,25 @@
   protected int checkApproval(PushOneCommit.Result r) throws Exception {
     Project.NameKey project = r.getChange().project();
     Cache cache = getCache().init(0, 0);
-    OwnersDb db = cache.get(true, projectCache.get(project), accountCache, emails,
-                            repoManager, pluginConfig, r.getChange(), 1);
+    OwnersDb db =
+        cache.get(
+            true,
+            projectCache.get(project),
+            accountCache,
+            emails,
+            repoManager,
+            pluginConfig,
+            r.getChange(),
+            1);
     Checker c = new Checker(repoManager, pluginConfig, null, r.getChange(), 1);
     return c.findApproval(accountCache, db);
   }
 
   // Remove '"' and space; replace '\n' with ' '; ignore "owner_revision" and "HostName:*".
   protected static String filteredJson(String json) {
-    return json.replaceAll("[\" ]*", "").replace('\n', ' ').replaceAll("owner_revision:[^ ]* ", "")
+    return json.replaceAll("[\" ]*", "")
+        .replace('\n', ' ')
+        .replaceAll("owner_revision:[^ ]* ", "")
         .replaceAll("HostName:[^ ]*, ", "");
   }
 
diff --git a/src/test/java/com/googlesource/gerrit/plugins/findowners/IncludeIT.java b/src/test/java/com/googlesource/gerrit/plugins/findowners/IncludeIT.java
index 4c376e1..f5829a2 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/findowners/IncludeIT.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/findowners/IncludeIT.java
@@ -35,14 +35,17 @@
     PushOneCommit.Result c2 = addFile("1", "t.c", "##");
     // Submitted c2 still finds no owners before c1 is submitted.
     assertThat(getOwnersResponse(c2)).contains("owners:[], files:[ t.c ]");
-    PushOneCommit.Result c1 = addFile("2", "OWNERS",
-        "x@x\na@a\ninclude  P1/P2 : f1\ninclude ./d1/d2/../../f2\n");
+    PushOneCommit.Result c1 =
+        addFile("2", "OWNERS", "x@x\na@a\ninclude  P1/P2 : f1\ninclude ./d1/d2/../../f2\n");
     // Now c2 should find owners, but include directives find no repository or file.
     String ownersAX = "owners:[ " + ownerJson("a@a") + ", " + ownerJson("x@x") + " ]";
     String path2owners = "path2owners:{ ./:[ a@a, x@x ] }";
     String owner2paths = "owner2paths:{ a@a:[ ./ ], x@x:[ ./ ] }";
     String projectName = project.get();
-    String expectedInLog = "project:" + projectName + ", "
+    String expectedInLog =
+        "project:"
+            + projectName
+            + ", "
             + "ownersFileName:OWNERS, "
             + "getBranchId:refs/heads/master(FOUND), "
             + "findOwnersFileFor:./t.c, "
@@ -52,8 +55,12 @@
             + "getRepoFile:P1/P2:refs/heads/master:f1, "
             + "getRepoFileException:repositorynotfound:P1/P2, " // repository not found
             + "parseLine:include:(), " // missing file is treated as empty
-            + "parseLine:include:" + projectName + ":./d1/d2/../../f2, "
-            + "getRepoFile:" + projectName + ":refs/heads/master:f2, "
+            + "parseLine:include:"
+            + projectName
+            + ":./d1/d2/../../f2, "
+            + "getRepoFile:"
+            + projectName
+            + ":refs/heads/master:f2, "
             + "getFile:f2(NOTFOUND), " // same repository but f2 is missing
             + "parseLine:include:(), " // missing file is treated as empty
             + "countNumOwners, "
@@ -82,8 +89,8 @@
     addFile("c0", "f2", "g1@g\ng2@g\n");
     // c2 and c1 are both submitted before existence of OWNERS.
     PushOneCommit.Result c2 = addFile("c2", "t.c", "##");
-    PushOneCommit.Result c1 = addFile("c1", "OWNERS",
-        "x@x\na@a\ninclude  P1/P2 : f1\ninclude ./d1/d2/../../f2\n");
+    PushOneCommit.Result c1 =
+        addFile("c1", "OWNERS", "x@x\na@a\ninclude  P1/P2 : f1\ninclude ./d1/d2/../../f2\n");
     String ownerA = ownerJson("a@a");
     String ownerX = ownerJson("x@x");
     String ownerG1 = ownerJson("g1@g");
@@ -93,7 +100,10 @@
     String path2owners = "path2owners:{ ./:[ a@a, g1@g, g2@g, x@x ] }";
     String owner2paths = "owner2paths:{ a@a:[ ./ ], g1@g:[ ./ ], g2@g:[ ./ ], x@x:[ ./ ] }";
     String projectName = project.get();
-    String expectedInLog = "project:" + projectName + ", "
+    String expectedInLog =
+        "project:"
+            + projectName
+            + ", "
             + "ownersFileName:OWNERS, "
             + "getBranchId:refs/heads/master(FOUND), "
             + "findOwnersFileFor:./t.c, "
@@ -103,8 +113,12 @@
             + "getRepoFile:P1/P2:refs/heads/master:f1, "
             + "getRepoFileException:repositorynotfound:P1/P2, "
             + "parseLine:include:(), " // P1/P2 is still not found
-            + "parseLine:include:" + projectName + ":./d1/d2/../../f2, "
-            + "getRepoFile:" + projectName + ":refs/heads/master:f2, "
+            + "parseLine:include:"
+            + projectName
+            + ":./d1/d2/../../f2, "
+            + "getRepoFile:"
+            + projectName
+            + ":refs/heads/master:f2, "
             + "getFile:f2:(...), " // f2 is included
             + "countNumOwners, "
             + "findOwners, "
@@ -145,8 +159,17 @@
     String ownerD2 = ownerJson("d2d2@g");
     String ownerF2 = ownerJson("d2f2@g");
     String ownerX = ownerJson("x@g", 0, 1, 0);
-    assertThat(getOwnersResponse(c1)).contains("owners:[ " + ownerD2 + ", "
-        + ownerF2 + ", " + ownerD3 + ", " + ownerX + " ], files:[ d3/t.c ]");
+    assertThat(getOwnersResponse(c1))
+        .contains(
+            "owners:[ "
+                + ownerD2
+                + ", "
+                + ownerF2
+                + ", "
+                + ownerD3
+                + ", "
+                + ownerX
+                + " ], files:[ d3/t.c ]");
   }
 
   @Test
@@ -154,24 +177,16 @@
     // Test difference between include and file statements.
     // The file statement skips "set noparent" and "per-file" statements.
     addFile("d1", "d1/OWNERS", "d1@g\n");
-    addFile("d1/d1", "d1/d1/OWNERS",
-        "per-file *.c=d1d1p@g\nd1d1@g\nfile: d1/OWNERS\n");
-    addFile("d1/d1/d1", "d1/d1/d1/OWNERS",
-        "set noparent\nper-file *.c=d1d1d1p@g\nd1d1d1@g\n");
-    addFile("d1/d2", "d1/d2/OWNERS",
-        "per-file *.c=d1d2p@g\nd1d2@g\ninclude d1/OWNERS\n");
-    addFile("d1/d2/d1", "d1/d2/d1/OWNERS",
-        "set noparent\nper-file *.c=d1d2d1p@g\nd1d2d1@g\n");
+    addFile("d1/d1", "d1/d1/OWNERS", "per-file *.c=d1d1p@g\nd1d1@g\nfile: d1/OWNERS\n");
+    addFile("d1/d1/d1", "d1/d1/d1/OWNERS", "set noparent\nper-file *.c=d1d1d1p@g\nd1d1d1@g\n");
+    addFile("d1/d2", "d1/d2/OWNERS", "per-file *.c=d1d2p@g\nd1d2@g\ninclude d1/OWNERS\n");
+    addFile("d1/d2/d1", "d1/d2/d1/OWNERS", "set noparent\nper-file *.c=d1d2d1p@g\nd1d2d1@g\n");
 
     addFile("d2", "d2/OWNERS", "d2@g\n");
-    addFile("d2/d1", "d2/d1/OWNERS",
-        "per-file *.c=d2d1p@g\nd2d1@g\nfile: ./d1/OWNERS\n");
-    addFile("d2/d1/d1", "d2/d1/d1/OWNERS",
-        "set noparent\nper-file *.c=d2d1d1p@g\nd2d1d1@g\n");
-    addFile("d2/d2", "d2/d2/OWNERS",
-        "per-file *.c=d2d2p@g\nd2d2@g\ninclude ./d1/OWNERS\n");
-    addFile("d2/d2/d1", "d2/d2/d1/OWNERS",
-        "set noparent\nper-file *.c=d2d2d1p@g\nd2d2d1@g\n");
+    addFile("d2/d1", "d2/d1/OWNERS", "per-file *.c=d2d1p@g\nd2d1@g\nfile: ./d1/OWNERS\n");
+    addFile("d2/d1/d1", "d2/d1/d1/OWNERS", "set noparent\nper-file *.c=d2d1d1p@g\nd2d1d1@g\n");
+    addFile("d2/d2", "d2/d2/OWNERS", "per-file *.c=d2d2p@g\nd2d2@g\ninclude ./d1/OWNERS\n");
+    addFile("d2/d2/d1", "d2/d2/d1/OWNERS", "set noparent\nper-file *.c=d2d2d1p@g\nd2d2d1@g\n");
 
     addFile("d3", "d3/OWNERS", "d3@g\n");
     addFile("d3/d1/d1", "d3/d1/d1/OWNERS", "d3d1d1@g\nfile: ../../../d1/d1/OWNERS\n");
@@ -184,17 +199,15 @@
     PushOneCommit.Result c22 = createChange("c22", "d3/d2/d2/t.c", "test");
 
     // file and file
-    String owners11 = "file2owners:{ ./d3/d1/d1/t.c:"
-        + "[ d1d1@g, d1d1d1@g, d3@g, d3d1d1@g ] }";
+    String owners11 = "file2owners:{ ./d3/d1/d1/t.c:" + "[ d1d1@g, d1d1d1@g, d3@g, d3d1d1@g ] }";
     // file and include
-    String owners12 = "file2owners:{ ./d3/d1/d2/t.c:"
-        + "[ d1d2@g, d1d2d1@g, d3@g, d3d1d2@g ] }";
+    String owners12 = "file2owners:{ ./d3/d1/d2/t.c:" + "[ d1d2@g, d1d2d1@g, d3@g, d3d1d2@g ] }";
     // include and file
-    String owners21 = "file2owners:{ ./d3/d2/d1/t.c:"
-        + "[ d2d1@g, d2d1d1@g, d2d1p@g, d3@g, d3d2d1@g ] }";
+    String owners21 =
+        "file2owners:{ ./d3/d2/d1/t.c:" + "[ d2d1@g, d2d1d1@g, d2d1p@g, d3@g, d3d2d1@g ] }";
     // include and include
-    String owners22 = "file2owners:{ ./d3/d2/d2/t.c:"
-        + "[ d2d2@g, d2d2d1@g, d2d2d1p@g, d2d2p@g, d3d2d2@g ] }";
+    String owners22 =
+        "file2owners:{ ./d3/d2/d2/t.c:" + "[ d2d2@g, d2d2d1@g, d2d2d1p@g, d2d2p@g, d3d2d2@g ] }";
 
     assertThat(getOwnersDebugResponse(c11)).contains(owners11);
     assertThat(getOwnersDebugResponse(c12)).contains(owners12);
@@ -233,25 +246,46 @@
     PushOneCommit.Result c = createChange("6", "t.c", "#\n");
     String response = getOwnersDebugResponse(c);
     String projectName = project.get();
-    String expectedInLog = "project:" + projectName + ", "
+    String expectedInLog =
+        "project:"
+            + projectName
+            + ", "
             + "ownersFileName:OWNERS, "
             + "getBranchId:refs/heads/master(FOUND), "
             + "findOwnersFileFor:./t.c, "
             + "findOwnersFileIn:., "
             + "getFile:OWNERS:(...), "
-            + "parseLine:include:" + projectName + ":./d1/../f1, "
-            + "getRepoFile:" + projectName + ":refs/heads/master:f1, "
+            + "parseLine:include:"
+            + projectName
+            + ":./d1/../f1, "
+            + "getRepoFile:"
+            + projectName
+            + ":refs/heads/master:f1, "
             + "getFile:f1:(...), "
-            + "parseLine:include:" + projectName + ":./f2, "
-            + "getRepoFile:" + projectName + ":refs/heads/master:f2, "
+            + "parseLine:include:"
+            + projectName
+            + ":./f2, "
+            + "getRepoFile:"
+            + projectName
+            + ":refs/heads/master:f2, "
             + "getFile:f2:(...), "
-            + "parseLine:include:" + projectName + ":d1/../f3, "
-            + "getRepoFile:" + projectName + ":refs/heads/master:f3, "
+            + "parseLine:include:"
+            + projectName
+            + ":d1/../f3, "
+            + "getRepoFile:"
+            + projectName
+            + ":refs/heads/master:f3, "
             + "getFile:f3:(...), "
-            + "parseLine:include:" + projectName + ":/f4, "
-            + "getRepoFile:" + projectName + ":refs/heads/master:f4, "
+            + "parseLine:include:"
+            + projectName
+            + ":/f4, "
+            + "getRepoFile:"
+            + projectName
+            + ":refs/heads/master:f4, "
             + "getFile:f4:(...), "
-            + "parseLine:errorRecursion:include:" + projectName + ":d2/../f2, "
+            + "parseLine:errorRecursion:include:"
+            + projectName
+            + ":d2/../f2, "
             + "countNumOwners, "
             + "findOwners, "
             + "checkFile:./t.c, "
@@ -259,8 +293,8 @@
             + "addOwnerWeightsIn:./ "
             + "] ";
     assertThat(response).contains("path2owners:{ ./:[ f1@g, f2@g, f3@g, f4@g, x@g ] }");
-    assertThat(response).contains(
-        "owner2paths:{ f1@g:[ ./ ], f2@g:[ ./ ], f3@g:[ ./ ], f4@g:[ ./ ], x@g:[ ./ ] }");
+    assertThat(response)
+        .contains("owner2paths:{ f1@g:[ ./ ], f2@g:[ ./ ], f3@g:[ ./ ], f4@g:[ ./ ], x@g:[ ./ ] }");
     assertThat(response).contains(expectedInLog);
   }
 
@@ -275,55 +309,97 @@
     addFile("3", "d2/d3/f3", "f3@g\ninclude /d0/f0\n");
     addFile("4", "d4/f4", "f4@g\ninclude ../d2/f2\n");
     addFile("5", "d4/d5/f5", "f5@g\ninclude /d2/f2\ninclude ../f4\n");
-    PushOneCommit.Result c = addFile("6", "d6/OWNERS",
-        "f6@g\ninclude /d0/f0\ninclude ../d1/d2/f1\n"
-        + "include ../d2/f2\ninclude /d2/d3/f3\ninclude /d2/../d4/d5/f5\ninclude /d4/f4\n");
+    PushOneCommit.Result c =
+        addFile(
+            "6",
+            "d6/OWNERS",
+            "f6@g\ninclude /d0/f0\ninclude ../d1/d2/f1\n"
+                + "include ../d2/f2\ninclude /d2/d3/f3\ninclude /d2/../d4/d5/f5\ninclude /d4/f4\n");
     String result = getOwnersDebugResponse(c);
     assertThat(result).contains("{ ./d6/OWNERS:[ f0@g, f1@g, f2@g, f3@g, f4@g, f5@g, f6@g ] }");
     String projectName = project.get();
     String skipLog = "parseLine:useSaved:include:" + projectName + ":";
-    for (String path : new String[]{"../../d0/f0", "../d0/f0", "../d2/f2", "/d2/f2", "/d4/f4"}) {
+    for (String path : new String[] {"../../d0/f0", "../d0/f0", "../d2/f2", "/d2/f2", "/d4/f4"}) {
       assertThat(result).contains(skipLog + path);
     }
-    String expectedInLog = "project:" + projectName + ", "
-           + "ownersFileName:OWNERS, "
-           + "getBranchId:refs/heads/master(FOUND), "
-           + "findOwnersFileFor:./d6/OWNERS, "
-           + "findOwnersFileIn:./d6, "
-           + "getFile:d6/OWNERS:(...), "
-           + "parseLine:include:" + projectName + ":/d0/f0, "
-           + "getRepoFile:" + projectName + ":refs/heads/master:d0/f0, "
-           + "getFile:d0/f0:(...), "
-           + "parseLine:include:" + projectName + ":../d1/d2/f1, "
-           + "getRepoFile:" + projectName + ":refs/heads/master:d1/d2/f1, "
-           + "getFile:d1/d2/f1:(...), "
-           + "parseLine:useSaved:include:" + projectName + ":../../d0/f0, "
-           + "parseLine:include:" + projectName + ":../d2/f2, "
-           + "getRepoFile:" + projectName + ":refs/heads/master:d2/f2, "
-           + "getFile:d2/f2:(...), "
-           + "parseLine:useSaved:include:" + projectName + ":../d0/f0, "
-           + "parseLine:include:" + projectName + ":/d2/d3/f3, "
-           + "getRepoFile:" + projectName + ":refs/heads/master:d2/d3/f3, "
-           + "getFile:d2/d3/f3:(...), "
-           + "parseLine:useSaved:include:" + projectName + ":/d0/f0, "
-           + "parseLine:include:" + projectName + ":/d2/../d4/d5/f5, "
-           + "getRepoFile:" + projectName + ":refs/heads/master:d4/d5/f5, "
-           + "getFile:d4/d5/f5:(...), "
-           + "parseLine:useSaved:include:" + projectName + ":/d2/f2, "
-           + "parseLine:include:" + projectName + ":../f4, "
-           + "getRepoFile:" + projectName + ":refs/heads/master:d4/f4, "
-           + "getFile:d4/f4:(...), "
-           + "parseLine:useSaved:include:" + projectName + ":../d2/f2, "
-           + "parseLine:useSaved:include:" + projectName + ":/d4/f4, "
-           + "findOwnersFileIn:., "
-           + "getFile:OWNERS(NOTFOUND), "
-           + "countNumOwners, "
-           + "findOwners, "
-           + "checkFile:./d6/OWNERS, "
-           + "checkDir:./d6, "
-           + "checkDir:., "
-           + "addOwnerWeightsIn:./d6/ "
-           + "] ";
+    String expectedInLog =
+        "project:"
+            + projectName
+            + ", "
+            + "ownersFileName:OWNERS, "
+            + "getBranchId:refs/heads/master(FOUND), "
+            + "findOwnersFileFor:./d6/OWNERS, "
+            + "findOwnersFileIn:./d6, "
+            + "getFile:d6/OWNERS:(...), "
+            + "parseLine:include:"
+            + projectName
+            + ":/d0/f0, "
+            + "getRepoFile:"
+            + projectName
+            + ":refs/heads/master:d0/f0, "
+            + "getFile:d0/f0:(...), "
+            + "parseLine:include:"
+            + projectName
+            + ":../d1/d2/f1, "
+            + "getRepoFile:"
+            + projectName
+            + ":refs/heads/master:d1/d2/f1, "
+            + "getFile:d1/d2/f1:(...), "
+            + "parseLine:useSaved:include:"
+            + projectName
+            + ":../../d0/f0, "
+            + "parseLine:include:"
+            + projectName
+            + ":../d2/f2, "
+            + "getRepoFile:"
+            + projectName
+            + ":refs/heads/master:d2/f2, "
+            + "getFile:d2/f2:(...), "
+            + "parseLine:useSaved:include:"
+            + projectName
+            + ":../d0/f0, "
+            + "parseLine:include:"
+            + projectName
+            + ":/d2/d3/f3, "
+            + "getRepoFile:"
+            + projectName
+            + ":refs/heads/master:d2/d3/f3, "
+            + "getFile:d2/d3/f3:(...), "
+            + "parseLine:useSaved:include:"
+            + projectName
+            + ":/d0/f0, "
+            + "parseLine:include:"
+            + projectName
+            + ":/d2/../d4/d5/f5, "
+            + "getRepoFile:"
+            + projectName
+            + ":refs/heads/master:d4/d5/f5, "
+            + "getFile:d4/d5/f5:(...), "
+            + "parseLine:useSaved:include:"
+            + projectName
+            + ":/d2/f2, "
+            + "parseLine:include:"
+            + projectName
+            + ":../f4, "
+            + "getRepoFile:"
+            + projectName
+            + ":refs/heads/master:d4/f4, "
+            + "getFile:d4/f4:(...), "
+            + "parseLine:useSaved:include:"
+            + projectName
+            + ":../d2/f2, "
+            + "parseLine:useSaved:include:"
+            + projectName
+            + ":/d4/f4, "
+            + "findOwnersFileIn:., "
+            + "getFile:OWNERS(NOTFOUND), "
+            + "countNumOwners, "
+            + "findOwners, "
+            + "checkFile:./d6/OWNERS, "
+            + "checkDir:./d6, "
+            + "checkDir:., "
+            + "addOwnerWeightsIn:./d6/ "
+            + "] ";
     assertThat(result).contains(expectedInLog);
   }
 
@@ -348,9 +424,22 @@
     PushOneCommit.Result c1 = createChange("c1", "d2/t.c", "Hello!");
     // included: pA:d2/OWNERS, pA:d2/../f1, pA:d1/f1, pB:d2/f2, pB:d2/../f1, pB:./d1/f1
     // inherited: pA:OWNERS
-    String owners = "owners:[ " + ownerJson("pAd1f1@g") + ", " + ownerJson("pAd2@g") + ", "
-        + ownerJson("pAf1@g") + ", " + ownerJson("pBd1f1@g") + ", " + ownerJson("pBd2f2@g")
-        + ", " + ownerJson("pBf1@g") + ", " + ownerJson("pA@g", 0, 1, 0) + " ]";
+    String owners =
+        "owners:[ "
+            + ownerJson("pAd1f1@g")
+            + ", "
+            + ownerJson("pAd2@g")
+            + ", "
+            + ownerJson("pAf1@g")
+            + ", "
+            + ownerJson("pBd1f1@g")
+            + ", "
+            + ownerJson("pBd2f2@g")
+            + ", "
+            + ownerJson("pBf1@g")
+            + ", "
+            + ownerJson("pA@g", 0, 1, 0)
+            + " ]";
     assertThat(getOwnersResponse(c1)).contains(owners);
   }
 }
diff --git a/src/test/java/com/googlesource/gerrit/plugins/findowners/InheritanceIT.java b/src/test/java/com/googlesource/gerrit/plugins/findowners/InheritanceIT.java
index e3bc749..9adb4f9 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/findowners/InheritanceIT.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/findowners/InheritanceIT.java
@@ -31,14 +31,15 @@
   @Test
   public void includePerFileNoParentTest() throws Exception {
     // Test included file with per-file and set noparent, which affects the including file.
-    PushOneCommit.Result c1 = addFile("1", "d1/d1/OWNERS",
-        "d1d1@g\nper-file OW* = set noparent\nper-file OWNERS=d1d1o@g\n");
-    PushOneCommit.Result c2 = addFile("2", "d1/OWNERS",
-        "d1@g\nper-file OWNERS=d1o@g\nper-file * = set noparent\n");
-    PushOneCommit.Result c3 = addFile( "3", "d2/d1/OWNERS",
-        "per-file O*S=d2d1o@g\nd2d1@g\ninclude ../../d1/d1/OWNERS\n");
-    PushOneCommit.Result c4 = addFile("4",
-        "d2/OWNERS", "d2@g\nper-file OWNERS=d2o@g\nper-file *S=set  noparent \n");
+    PushOneCommit.Result c1 =
+        addFile(
+            "1", "d1/d1/OWNERS", "d1d1@g\nper-file OW* = set noparent\nper-file OWNERS=d1d1o@g\n");
+    PushOneCommit.Result c2 =
+        addFile("2", "d1/OWNERS", "d1@g\nper-file OWNERS=d1o@g\nper-file * = set noparent\n");
+    PushOneCommit.Result c3 =
+        addFile("3", "d2/d1/OWNERS", "per-file O*S=d2d1o@g\nd2d1@g\ninclude ../../d1/d1/OWNERS\n");
+    PushOneCommit.Result c4 =
+        addFile("4", "d2/OWNERS", "d2@g\nper-file OWNERS=d2o@g\nper-file *S=set  noparent \n");
     // Files that match per-file globs with set noparent do not inherit global default owners.
     // But include directive can include more per-file owners as in c3.
     assertThat(getOwnersResponse(c1)).contains("{ ./d1/d1/OWNERS:[ d1d1o@g ] }");
@@ -93,20 +94,19 @@
         .contains("owners:[ " + ownerY + ", " + ownerX010 + " ], files:[ d2/t.c ]");
     // Add "d2/d1/t.c" file, which is owned by ./d2 and root owners.
     PushOneCommit.Result c5 = createChange("c5", "d2/d1/t.c", "Hello!");
-    assertThat(getOwnersResponse(c5)).contains(
-        "owners:[ " + ownerY + ", " + ownerX010 + " ], files:[ d2/d1/t.c ]");
+    assertThat(getOwnersResponse(c5))
+        .contains("owners:[ " + ownerY + ", " + ownerX010 + " ], files:[ d2/d1/t.c ]");
     // Add "d3/t.c" file, which is owned only by ./d3 owners due to "set noparent".
     PushOneCommit.Result c6 = createChange("c6", "d3/t.c", "Hello!");
     String ownerB = ownerJson("b@b");
     assertThat(getOwnersResponse(c6)).contains("owners:[ " + ownerB + " ], files:[ d3/t.c ]");
     // Add "d3/d1/t.c" file, which is owned only by ./d3 owners due to "set noparent".
     PushOneCommit.Result c7 = createChange("c7", "d3/d1/t.c", "Hello!");
-    assertThat(getOwnersResponse(c7)).contains(
-        "owners:[ " + ownerB + " ], files:[ d3/d1/t.c ]");
+    assertThat(getOwnersResponse(c7)).contains("owners:[ " + ownerB + " ], files:[ d3/d1/t.c ]");
     // Add "d4/t.c" file, which is owned by ./d4 and ./d2 owners, but not root owners.
     PushOneCommit.Result c8 = createChange("c8", "d4/t.c", "Hello!");
     String ownerZ = ownerJson("z@z");
-    assertThat(getOwnersResponse(c8)).contains(
-        "owners:[ " + ownerY + ", " + ownerZ + ", " + ownerX010 + " ], files:[ d4/t.c ]");
+    assertThat(getOwnersResponse(c8))
+        .contains("owners:[ " + ownerY + ", " + ownerZ + ", " + ownerX010 + " ], files:[ d4/t.c ]");
   }
 }
diff --git a/src/test/java/com/googlesource/gerrit/plugins/findowners/OwnersValidatorIT.java b/src/test/java/com/googlesource/gerrit/plugins/findowners/OwnersValidatorIT.java
index 8587b35..c88283f 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/findowners/OwnersValidatorIT.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/findowners/OwnersValidatorIT.java
@@ -59,8 +59,6 @@
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
-import org.junit.rules.TestWatcher;
-import org.junit.runner.Description;
 
 /** Test OwnersValidator, which checks syntax of changed OWNERS files. */
 @TestPlugin(name = "find-owners", sysModule = "com.googlesource.gerrit.plugins.findowners.Module")
@@ -71,8 +69,11 @@
   @Inject private ProjectOperations projectOperations;
 
   protected Project.NameKey newProject(String name) {
-    return projectOperations.newProject().parent(new Project.NameKey("All-Projects")).
-        name(name).create();
+    return projectOperations
+        .newProject()
+        .parent(new Project.NameKey("All-Projects"))
+        .name(name)
+        .create();
   }
 
   private void switchProject(Project.NameKey p) throws Exception {
@@ -80,8 +81,7 @@
     testRepo = cloneProject(project);
   }
 
-  private void addProjectFile(
-      String project, String file, String content) throws Exception {
+  private void addProjectFile(String project, String file, String content) throws Exception {
     switchProject(newProject(project));
     PushOneCommit.Result c = createChange("c", file, content);
     approve(c.getChangeId());
@@ -168,24 +168,26 @@
     assertThat(validate(event, true, ENABLED_CONFIG)).isEmpty();
   }
 
-  private static final String[] INCLUDE_STMTS = new String[]{
-      "  include  p1/p2 : /d1/owners",
-      "include  p2/p1://d1/owners #comment",
-      "include ../d2/owners",
-      " per-file *.java = file:  //d2/OWNERS.java #",
-      "per-file *.cpp,*cc=file:p1/p2:/c++owners",
-      "  file:   p1/p2 : /d1/owners ",  // repeated
-      "file:  p3/p2://d1/owners #comment",
-      "file: ../d2/owners",  // repeated
-      "file: //OWNERS",  // recursive inclusion
-      "file:///OWNERS.android"};
+  private static final String[] INCLUDE_STMTS =
+      new String[] {
+        "  include  p1/p2 : /d1/owners",
+        "include  p2/p1://d1/owners #comment",
+        "include ../d2/owners",
+        " per-file *.java = file:  //d2/OWNERS.java #",
+        "per-file *.cpp,*cc=file:p1/p2:/c++owners",
+        "  file:   p1/p2 : /d1/owners ", // repeated
+        "file:  p3/p2://d1/owners #comment",
+        "file: ../d2/owners", // repeated
+        "file: //OWNERS", // recursive inclusion
+        "file:///OWNERS.android"
+      };
 
   private static final ImmutableSet<String> SKIP_INCLUDE_STMTS =
       ImmutableSet.of("  file:   p1/p2 : /d1/owners ", "file: ../d2/owners", "file: //OWNERS");
 
   private static String allIncludeStatements() {
     String statement = "";
-    for (String s: INCLUDE_STMTS) {
+    for (String s : INCLUDE_STMTS) {
       statement += s + "\n";
     }
     return statement;
@@ -195,8 +197,8 @@
     Set<String> msgs = new HashSet<>();
     for (int i = 0; i < INCLUDE_STMTS.length; i++) {
       if (!SKIP_INCLUDE_STMTS.contains(INCLUDE_STMTS[i])) {
-        msgs.add("MSG: unchecked: OWNERS:" + (i + 1)
-            + ": " + Parser.getIncludeOrFile(INCLUDE_STMTS[i]));
+        msgs.add(
+            "MSG: unchecked: OWNERS:" + (i + 1) + ": " + Parser.getIncludeOrFile(INCLUDE_STMTS[i]));
       }
     }
     return msgs;
@@ -223,24 +225,24 @@
     msgs.add("MSG: owner: u1@g.com");
     msgs.add("MSG: owner: u2.m@g.com");
     msgs.add("MSG: owner: user1@google.com");
-    String[] missing = new String[]{
-        "p1/p2:OWNERS.android",
-        "p1/p2:c++owners",
-        "p1/p2:d1/owners",
-        "p1/p2:d2/OWNERS.java",
-        "p1/p2:d2/owners",
-        "p2/p1:d1/owners",
-        "p3/p2:d1/owners",
-    };
+    String[] missing =
+        new String[] {
+          "p1/p2:OWNERS.android",
+          "p1/p2:c++owners",
+          "p1/p2:d1/owners",
+          "p1/p2:d2/OWNERS.java",
+          "p1/p2:d2/owners",
+          "p2/p1:d1/owners",
+          "p3/p2:d1/owners",
+        };
     for (String s : missing) {
       msgs.add("MSG: cannot find file: " + s);
       msgs.add("MSG: check repo file " + s);
     }
-    String[] skips = new String[]{
-        "p1/p2:OWNERS",
-        "p1/p2:d1/owners",
-        "p1/p2:d2/owners",
-    };
+    String[] skips =
+        new String[] {
+          "p1/p2:OWNERS", "p1/p2:d1/owners", "p1/p2:d2/owners",
+        };
     for (String s : skips) {
       msgs.add("MSG: skip repeated include of " + s);
     }
@@ -323,13 +325,15 @@
     addProjectFile("p2", "d2/owners", "x@g.com\nerr\ninclude ../d2/owners\n");
     ImmutableMap<String, String> files =
         ImmutableMap.of(
-            "d1/" + OWNERS, "include ../d2/owners\ninclude /d2/owners\n"
-            + "include p1:/d2/owners\ninclude p2:/d2/owners\n");
-    ImmutableSet<String> expected = ImmutableSet.of(
-       "ERROR: unknown: x@g.com at p2:d2/owners:1",
-       "ERROR: syntax: p2:d2/owners:2: err",
-       "ERROR: syntax: d2/owners:1: wrong",
-       "ERROR: syntax: d2/owners:2: xyz");
+            "d1/" + OWNERS,
+            "include ../d2/owners\ninclude /d2/owners\n"
+                + "include p1:/d2/owners\ninclude p2:/d2/owners\n");
+    ImmutableSet<String> expected =
+        ImmutableSet.of(
+            "ERROR: unknown: x@g.com at p2:d2/owners:1",
+            "ERROR: syntax: p2:d2/owners:2: err",
+            "ERROR: syntax: d2/owners:1: wrong",
+            "ERROR: syntax: d2/owners:2: xyz");
     CommitReceivedEvent event = makeCommitEvent("p1", "T", files);
     assertThat(validate(event, false, ENABLED_CONFIG)).containsExactlyElementsIn(expected);
   }
diff --git a/src/test/java/com/googlesource/gerrit/plugins/findowners/ParserTest.java b/src/test/java/com/googlesource/gerrit/plugins/findowners/ParserTest.java
index 6998277..fee0569 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/findowners/ParserTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/findowners/ParserTest.java
@@ -174,10 +174,16 @@
   @Test
   public void perFileGoodDirectiveTest() {
     String[] directives = {
-      "abc@google.com#comment", "  *# comment", "  xyz@gmail.com # comment",
-      "a@g.com  ,  xyz@gmail.com , *  # comment", "*,*#comment", "  a@b,c@d  ",
-      "  set   noparent  ", "\tset\t\tnoparent\t",
-      "file://java.owners", "  file:  p1/p2  :  /OWNERS  "
+      "abc@google.com#comment",
+      "  *# comment",
+      "  xyz@gmail.com # comment",
+      "a@g.com  ,  xyz@gmail.com , *  # comment",
+      "*,*#comment",
+      "  a@b,c@d  ",
+      "  set   noparent  ",
+      "\tset\t\tnoparent\t",
+      "file://java.owners",
+      "  file:  p1/p2  :  /OWNERS  "
     };
     String[] globsList = {"*", "*,*.c", "  *test*.java , *.cc, *.cpp  ", "*.bp,*.mk ,A*  "};
     for (String directive : directives) {
@@ -204,7 +210,7 @@
             assertThat(owners).hasLength(1);
           } else {
             String[] paths = result.owner2paths.get(e).toArray(new String[1]);
-            assertThat(paths).hasLength(globList.length);  // should not work for "set noparent"
+            assertThat(paths).hasLength(globList.length); // should not work for "set noparent"
             Arrays.sort(paths);
             for (int g = 0; g < globList.length; g++) {
               assertThat(paths[g]).isEqualTo(mockedTestDir() + globList[g]);
@@ -218,9 +224,15 @@
   @Test
   public void perFileBadDirectiveTest() {
     String[] directives = {
-      " ** ", "a b@c .co", "a@b@c  #com", "a.<b>@zc#",
-      " , a@b  ", "a@b, , c@d  #", "a@b, set noparent",
-      "a@b, file://java.owners", "*,file:OWNERS"
+      " ** ",
+      "a b@c .co",
+      "a@b@c  #com",
+      "a.<b>@zc#",
+      " , a@b  ",
+      "a@b, , c@d  #",
+      "a@b, set noparent",
+      "a@b, file://java.owners",
+      "*,file:OWNERS"
     };
     for (String directive : directives) {
       String line = "per-file *test*.c=" + directive;
@@ -244,7 +256,8 @@
     testOneIncludeOrFileLine(project, line, "file", projectName, filePath);
   }
 
-  private void testOneIncludeLine(String project, String line, String projectName, String filePath) {
+  private void testOneIncludeLine(
+      String project, String line, String projectName, String filePath) {
     testOneIncludeOrFileLine(project, line, "include", projectName, filePath);
   }
 
@@ -260,24 +273,30 @@
 
   @Test
   public void getIncludeOrFileTest() {
-    String[] line = new String[] {
-      "", "wrong input", "INCLUDE X",
-      "include //f2.txt # ",
-      "  include  P1/P2:  ../f1 # ",
-      "  file://f3 # ",
-      "file:  P1:f3",
-      "  per-file *.c,file.c = file:  /OWNERS  # ",
-      "per-file  *=file:P1/P2:  /O# ",
-    };
-    String[] expected = new String[] {
-      "", "", "",
-      "include //f2.txt",
-      "include P1/P2:../f1",
-      "file://f3",
-      "file:P1:f3",
-      "file:/OWNERS",
-      "file:P1/P2:/O",
-    };
+    String[] line =
+        new String[] {
+          "",
+          "wrong input",
+          "INCLUDE X",
+          "include //f2.txt # ",
+          "  include  P1/P2:  ../f1 # ",
+          "  file://f3 # ",
+          "file:  P1:f3",
+          "  per-file *.c,file.c = file:  /OWNERS  # ",
+          "per-file  *=file:P1/P2:  /O# ",
+        };
+    String[] expected =
+        new String[] {
+          "",
+          "",
+          "",
+          "include //f2.txt",
+          "include P1/P2:../f1",
+          "file://f3",
+          "file:P1:f3",
+          "file:/OWNERS",
+          "file:P1/P2:/O",
+        };
     for (int i = 0; i < line.length; i++) {
       assertThat(Parser.getIncludeOrFile(line[i])).isEqualTo(expected[i]);
     }
diff --git a/src/test/java/com/googlesource/gerrit/plugins/findowners/PerFileIT.java b/src/test/java/com/googlesource/gerrit/plugins/findowners/PerFileIT.java
index 3b5e076..26fc914 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/findowners/PerFileIT.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/findowners/PerFileIT.java
@@ -36,7 +36,7 @@
     String ownerA = ownerJson("a@a");
     String ownerB = ownerJson("b@b");
     String ownerC = ownerJson("c@c");
-    String ownerABC = "owners:[ " +ownerA + ", " + ownerB + ", " + ownerC;
+    String ownerABC = "owners:[ " + ownerA + ", " + ownerB + ", " + ownerC;
     String ownerX = ownerJson("x@x");
     assertThat(getOwnersResponse(c2)).contains(ownerABC + ", " + ownerX + " ], files:[ t.c ]");
     // Add "t.txt" file, which has only global default owners.
@@ -66,11 +66,11 @@
     PushOneCommit.Result c3 = addFile("3", "d2/d1/OWNERS", "d2d1@g\ninclude ../../d1/d1/OWNERS\n");
     PushOneCommit.Result c4 = addFile("4", "d2/OWNERS", "d2@g\nper-file OWNERS=d2o@g");
     // Files that match per-file globs now inherit global default owners.
-    assertThat(getOwnersResponse(c1)).contains(
-        "{ ./d1/d1/OWNERS:[ d1@g, d1d1@g, d1d1o@g, d1o@g ] }");
+    assertThat(getOwnersResponse(c1))
+        .contains("{ ./d1/d1/OWNERS:[ d1@g, d1d1@g, d1d1o@g, d1o@g ] }");
     assertThat(getOwnersResponse(c2)).contains("{ ./d1/OWNERS:[ d1@g, d1o@g ] }");
-    assertThat(getOwnersResponse(c3)).contains(
-        "{ ./d2/d1/OWNERS:[ d1d1@g, d1d1o@g, d2@g, d2d1@g, d2o@g ] }");
+    assertThat(getOwnersResponse(c3))
+        .contains("{ ./d2/d1/OWNERS:[ d1d1@g, d1d1o@g, d2@g, d2d1@g, d2o@g ] }");
     assertThat(getOwnersResponse(c4)).contains("{ ./d2/OWNERS:[ d2@g, d2o@g ] }");
   }
 }
diff --git a/src/test/java/com/googlesource/gerrit/plugins/findowners/UtilTest.java b/src/test/java/com/googlesource/gerrit/plugins/findowners/UtilTest.java
index 1f846fe..0540885 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/findowners/UtilTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/findowners/UtilTest.java
@@ -155,12 +155,14 @@
 
   @Test
   public void normalizedDirFilePathTest() throws IOException {
-    String[] dirs = {"", "", ".", "./d1/..", "/d1/d2/../..",
-      "d1", "d2/../d1", "/d1", "/d1", "/d1"};
-    String[] files = {"f0.c", "./f1.c", "./f2", "/f3", "f4",
-      "f5", "f6", "f7", "f8", "../d5/../d1/f9"};
-    String[] paths = {"./f0.c", "./f1.c", "./f2", "./f3", "./f4",
-      "./d1/f5", "./d1/f6", "./d1/f7", "./d1/f8", "./d1/f9"};
+    String[] dirs = {"", "", ".", "./d1/..", "/d1/d2/../..", "d1", "d2/../d1", "/d1", "/d1", "/d1"};
+    String[] files = {
+      "f0.c", "./f1.c", "./f2", "/f3", "f4", "f5", "f6", "f7", "f8", "../d5/../d1/f9"
+    };
+    String[] paths = {
+      "./f0.c", "./f1.c", "./f2", "./f3", "./f4", "./d1/f5", "./d1/f6", "./d1/f7", "./d1/f8",
+      "./d1/f9"
+    };
     for (int i = 0; i < files.length; i++) {
       assertThat(Util.normalizedDirFilePath(dirs[i], files[i])).isEqualTo(paths[i]);
     }
@@ -180,54 +182,54 @@
 
   @Test
   public void addKeyToMapTest() {
-     Map<String, Set<String>> m = new HashMap<>();
-     String key1 = "key1";
-     String key2 = "key2";
-     assertThat(m).isEmpty();
-     Util.addKeyToMap(m, key1);
-     assertThat(m).hasSize(1);
-     assertThat(m.get(key1)).isEmpty();
-     Util.addKeyToMap(m, key1);
-     assertThat(m).hasSize(1);
-     assertThat(m.get(key1)).isEmpty();
-     Util.addKeyToMap(m, key2);
-     assertThat(m).hasSize(2);
-     assertThat(m.get(key1)).isEmpty();
-     assertThat(m.get(key2)).isEmpty();
+    Map<String, Set<String>> m = new HashMap<>();
+    String key1 = "key1";
+    String key2 = "key2";
+    assertThat(m).isEmpty();
+    Util.addKeyToMap(m, key1);
+    assertThat(m).hasSize(1);
+    assertThat(m.get(key1)).isEmpty();
+    Util.addKeyToMap(m, key1);
+    assertThat(m).hasSize(1);
+    assertThat(m.get(key1)).isEmpty();
+    Util.addKeyToMap(m, key2);
+    assertThat(m).hasSize(2);
+    assertThat(m.get(key1)).isEmpty();
+    assertThat(m.get(key2)).isEmpty();
   }
 
   @Test
   public void addToMapTest() {
-     Map<String, Set<String>> m = new HashMap<>();
-     String key1 = "key1";
-     String key2 = "key2";
-     Util.addToMap(m, key1, "v1");
-     Util.addToMap(m, key2, "v2");
-     Util.addToMap(m, key2, "v3");
-     assertThat(m.get(key1)).containsExactly("v1");
-     assertThat(m.get(key2)).containsExactly("v2", "v3");
+    Map<String, Set<String>> m = new HashMap<>();
+    String key1 = "key1";
+    String key2 = "key2";
+    Util.addToMap(m, key1, "v1");
+    Util.addToMap(m, key2, "v2");
+    Util.addToMap(m, key2, "v3");
+    assertThat(m.get(key1)).containsExactly("v1");
+    assertThat(m.get(key2)).containsExactly("v2", "v3");
   }
 
   @Test
   public void addAllToMapTest() {
-     Map<String, Set<String>> m = new HashMap<>();
-     Set<String> s = new HashSet<>();
-     String key = "key";
-     Util.addAllToMap(m, key, s);
-     assertThat(m.get(key)).isEmpty();
-     s.add("v1");
-     Util.addAllToMap(m, key, s);
-     assertThat(m.get(key)).containsExactly("v1");
-     Util.addAllToMap(m, key, s);
-     assertThat(m.get(key)).containsExactly("v1");
-     s.add("v2");
-     Util.addAllToMap(m, key, s);
-     assertThat(m.get(key)).containsExactly("v2", "v1");
-     Util.addAllToMap(m, key, s);
-     assertThat(m.get(key)).containsExactly("v2", "v1");
-     s.add("v3");
-     Util.addAllToMap(m, key, s);
-     assertThat(m.get(key)).containsExactly("v2", "v1", "v3");
+    Map<String, Set<String>> m = new HashMap<>();
+    Set<String> s = new HashSet<>();
+    String key = "key";
+    Util.addAllToMap(m, key, s);
+    assertThat(m.get(key)).isEmpty();
+    s.add("v1");
+    Util.addAllToMap(m, key, s);
+    assertThat(m.get(key)).containsExactly("v1");
+    Util.addAllToMap(m, key, s);
+    assertThat(m.get(key)).containsExactly("v1");
+    s.add("v2");
+    Util.addAllToMap(m, key, s);
+    assertThat(m.get(key)).containsExactly("v2", "v1");
+    Util.addAllToMap(m, key, s);
+    assertThat(m.get(key)).containsExactly("v2", "v1");
+    s.add("v3");
+    Util.addAllToMap(m, key, s);
+    assertThat(m.get(key)).containsExactly("v2", "v1", "v3");
   }
 
   @Test
diff --git a/src/test/java/com/googlesource/gerrit/plugins/findowners/Watcher.java b/src/test/java/com/googlesource/gerrit/plugins/findowners/Watcher.java
index ae743a7..34b70cc 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/findowners/Watcher.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/findowners/Watcher.java
@@ -22,7 +22,9 @@
 class Watcher extends TestWatcher {
   private final FluentLogger logger;
 
-  Watcher(FluentLogger logger) { this.logger = logger; }
+  Watcher(FluentLogger logger) {
+    this.logger = logger;
+  }
 
   @Override
   public void starting(final Description method) {