diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/autoreindex/GroupReindexRunnable.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/autoreindex/GroupReindexRunnable.java
index a22d6b4..a9ebdb8 100644
--- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/autoreindex/GroupReindexRunnable.java
+++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/autoreindex/GroupReindexRunnable.java
@@ -59,10 +59,7 @@
     try {
       Id groupId = g.getId();
       Stream<Timestamp> groupIdAudTs =
-          db.accountGroupByIdAud()
-              .byGroup(g.getId())
-              .toList()
-              .stream()
+          db.accountGroupByIdAud().byGroup(g.getId()).toList().stream()
               .map(AccountGroupByIdAud::getRemovedOn)
               .filter(Objects::nonNull);
       List<AccountGroupMemberAudit> groupMembersAud =
@@ -70,8 +67,7 @@
       Stream<Timestamp> groupMemberAudAddedTs =
           groupMembersAud.stream().map(ga -> ga.getKey().getAddedOn()).filter(Objects::nonNull);
       Stream<Timestamp> groupMemberAudRemovedTs =
-          groupMembersAud
-              .stream()
+          groupMembersAud.stream()
               .map(AccountGroupMemberAudit::getRemovedOn)
               .filter(Objects::nonNull);
       Optional<Timestamp> groupLastTs =
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/RestForwarder.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/RestForwarder.java
index 15c3f63..8f933e6 100644
--- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/RestForwarder.java
+++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/RestForwarder.java
@@ -129,9 +129,7 @@
   private boolean execute(
       RequestMethod method, String action, String endpoint, Object id, String payload) {
     List<CompletableFuture<Boolean>> futures =
-        peerInfoProvider
-            .get()
-            .stream()
+        peerInfoProvider.get().stream()
             .map(peer -> createRequest(method, peer, action, endpoint, id, payload))
             .map(request -> CompletableFuture.supplyAsync(request::execute))
             .collect(Collectors.toList());
