diff --git a/src/main/java/com/googlesource/gerrit/plugins/gitrepometrics/UpdateGitMetricsTask.java b/src/main/java/com/googlesource/gerrit/plugins/gitrepometrics/UpdateGitMetricsTask.java
index bb885d3..191a5e7 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/gitrepometrics/UpdateGitMetricsTask.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/gitrepometrics/UpdateGitMetricsTask.java
@@ -19,6 +19,7 @@
 import com.google.gerrit.server.git.DelegateRepository;
 import com.google.gerrit.server.git.GitRepositoryManager;
 import com.google.inject.Inject;
+import com.google.inject.ProvisionException;
 import com.google.inject.assistedinject.Assisted;
 import com.googlesource.gerrit.plugins.gitrepometrics.collectors.GitRepoMetric;
 import java.io.IOException;
@@ -57,16 +58,11 @@
           "Running task to collect stats: repo %s, project %s",
           repository.getIdentifier(), projectName);
 
-      Repository unwrappedRepo =
-          repository instanceof DelegateRepository
-              ? ((DelegateRepository) repository).delegate()
-              : repository;
-
       gitRepoMetricsCache.getCollectors().stream()
           .forEach(
               metricsCollector -> {
                 metricsCollector.collect(
-                    (FileRepository) unwrappedRepo,
+                    getFileRepository(repository),
                     projectName,
                     metrics -> {
                       Map<GitRepoMetric, Long> newMetrics = new HashMap<>();
@@ -89,6 +85,18 @@
     }
   }
 
+  private FileRepository getFileRepository(Repository repo) {
+    if (repo instanceof DelegateRepository) {
+      return getFileRepository(((DelegateRepository) repo).delegate());
+    }
+
+    if (repo instanceof FileRepository) {
+      return (FileRepository) repo;
+    }
+
+    throw new ProvisionException("git-repo-metrics plugin can only be used with FileRepository");
+  }
+
   @Override
   public String toString() {
     return "UpdateGitMetricsTask " + projectName;
