diff --git a/src/main/java/com/googlesource/gerrit/plugins/its/base/workflow/FireEventOnCommits.java b/src/main/java/com/googlesource/gerrit/plugins/its/base/workflow/FireEventOnCommits.java
index 259829d..7ade76b 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/its/base/workflow/FireEventOnCommits.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/its/base/workflow/FireEventOnCommits.java
@@ -68,9 +68,7 @@
     String projectName = extractedParameters.get().getProjectName();
 
     Set<Map<String, String>> issuesProperties =
-        commitCollector
-            .collect(properties)
-            .stream()
+        commitCollector.collect(properties).stream()
             .map(commitId -> issueExtractor.getIssueIds(projectName, commitId))
             .flatMap(Stream::of)
             .map(
diff --git a/src/main/java/com/googlesource/gerrit/plugins/its/base/workflow/commit_collector/SinceLastTagCommitCollector.java b/src/main/java/com/googlesource/gerrit/plugins/its/base/workflow/commit_collector/SinceLastTagCommitCollector.java
index dbe597d..d8f1ec1 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/its/base/workflow/commit_collector/SinceLastTagCommitCollector.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/its/base/workflow/commit_collector/SinceLastTagCommitCollector.java
@@ -76,9 +76,7 @@
   private boolean isTagged(Repository repo, RevCommit commit) throws IOException {
     ObjectId commitId = commit.getId();
     try (RevWalk revWalk = new RevWalk(repo)) {
-      return repo.getRefDatabase()
-          .getRefsByPrefix(Constants.R_TAGS)
-          .stream()
+      return repo.getRefDatabase().getRefsByPrefix(Constants.R_TAGS).stream()
           .map(Ref::getObjectId)
           .map(
               refObjectId -> {
