diff --git a/src/main/java/com/googlesource/gerrit/plugins/deleteproject/fs/DeleteTrashFolders.java b/src/main/java/com/googlesource/gerrit/plugins/deleteproject/fs/DeleteTrashFolders.java
index 9aae37e..14214c4 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/deleteproject/fs/DeleteTrashFolders.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/deleteproject/fs/DeleteTrashFolders.java
@@ -114,19 +114,19 @@
   @Override
   public void start() {
     new Thread(
-        () -> {
-          for (Path folder : repoFolders) {
-            if (!folder.toFile().exists()) {
-              log.debug("Base path {} does not exist", folder);
-              continue;
-            }
-            try {
-              Files.walkFileTree(folder, new TrashFolderRemover());
-            } catch (IOException e) {
-              log.warn("Exception while trying to delete trash folders", e);
-            }
-          }
-        },
+            () -> {
+              for (Path folder : repoFolders) {
+                if (!folder.toFile().exists()) {
+                  log.debug("Base path {} does not exist", folder);
+                  continue;
+                }
+                try {
+                  Files.walkFileTree(folder, new TrashFolderRemover());
+                } catch (IOException e) {
+                  log.warn("Exception while trying to delete trash folders", e);
+                }
+              }
+            },
             "DeleteTrashFolders")
         .start();
   }
