Use original repository to collect stats

Make sure to always work on the original repository, even in case of
DelegateRepository.

Bug: Issue 15997
Change-Id: Ifd09670f3e3a9d529816a0241fc3e81c15387d77
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 ed120e5..7dc726d 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/gitrepometrics/UpdateGitMetricsTask.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/gitrepometrics/UpdateGitMetricsTask.java
@@ -16,6 +16,7 @@
 
 import com.google.common.flogger.FluentLogger;
 import com.google.gerrit.entities.Project;
+import com.google.gerrit.server.git.DelegateRepository;
 import com.google.gerrit.server.git.GitRepositoryManager;
 import com.google.inject.Inject;
 import com.google.inject.assistedinject.Assisted;
@@ -57,7 +58,13 @@
           repository.getIdentifier(), projectName);
       // TODO Loop through all the collectors
       Project project = Project.builder(projectNameKey).build();
-      GitStats gitStats = new GitStats((FileRepository) repository, project);
+
+      Repository unwrappedRepo =
+          repository instanceof DelegateRepository
+              ? ((DelegateRepository) repository).delegate()
+              : repository;
+
+      GitStats gitStats = new GitStats((FileRepository) unwrappedRepo, project);
       Map<String, Long> newMetrics = gitStats.get();
       logger.atInfo().log(
           "Here all the metrics for %s - %s", project.getName(), getStringFromMap(newMetrics));