Fix IllegalArgumentException if no replication sources are configured

If no replication sources are configured IllegalArgumentException was
thrown:

java.lang.IllegalArgumentException
	at java.base/java.util.concurrent.ForkJoinPool.<init>(ForkJoinPool.java:2295)
	at java.base/java.util.concurrent.ForkJoinPool.<init>(ForkJoinPool.java:2165)
	at com.googlesource.gerrit.plugins.replication.pull.ReplicationQueue.fire(ReplicationQueue.java:214)
	at com.googlesource.gerrit.plugins.replication.pull.ReplicationQueue.fire(ReplicationQueue.java:194)
	at com.googlesource.gerrit.plugins.replication.pull.ReplicationQueue.onGitReferenceUpdated(ReplicationQueue.java:159)
	...

Change-Id: I57c36e306362f8a532bd49602fe4bba520731cc4
diff --git a/src/main/java/com/googlesource/gerrit/plugins/replication/pull/ReplicationQueue.java b/src/main/java/com/googlesource/gerrit/plugins/replication/pull/ReplicationQueue.java
index 380ac8e..f5bb513 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/replication/pull/ReplicationQueue.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/replication/pull/ReplicationQueue.java
@@ -211,12 +211,18 @@
     }
     ForkJoinPool fetchCallsPool = null;
     try {
-      fetchCallsPool = new ForkJoinPool(sources.get().getAll().size());
+      List<Source> allSources = sources.get().getAll();
+      int numSources = allSources.size();
+      if (numSources == 0) {
+        repLog.debug("No replication sources configured -> skipping fetch");
+        return;
+      }
+      fetchCallsPool = new ForkJoinPool(numSources);
 
       final Consumer<Source> callFunction =
           callFunction(project, objectId, refName, isDelete, state);
       fetchCallsPool
-          .submit(() -> sources.get().getAll().parallelStream().forEach(callFunction))
+          .submit(() -> allSources.parallelStream().forEach(callFunction))
           .get(fetchCallsTimeout, TimeUnit.MILLISECONDS);
     } catch (InterruptedException | ExecutionException | TimeoutException e) {
       stateLog.error(