Refactor interruptible suppliers into a library package.

These suppliers can exist in lib/supplier since they contain no bazel-specific logic.

PiperOrigin-RevId: 248609626
diff --git a/src/main/java/com/google/devtools/build/skyframe/QueryableGraph.java b/src/main/java/com/google/devtools/build/skyframe/QueryableGraph.java
index 5a00816..d3a0c43 100644
--- a/src/main/java/com/google/devtools/build/skyframe/QueryableGraph.java
+++ b/src/main/java/com/google/devtools/build/skyframe/QueryableGraph.java
@@ -16,6 +16,8 @@
 import com.google.common.base.Predicates;
 import com.google.common.collect.Iterables;
 import com.google.devtools.build.lib.concurrent.ThreadSafety.ThreadSafe;
+import com.google.devtools.build.lib.supplier.InterruptibleSupplier;
+import com.google.devtools.build.lib.supplier.MemoizingInterruptibleSupplier;
 import com.google.devtools.build.lib.util.GroupedList;
 import com.google.errorprone.annotations.CanIgnoreReturnValue;
 import java.util.Map;
@@ -61,7 +63,7 @@
   @CanIgnoreReturnValue
   default InterruptibleSupplier<Map<SkyKey, ? extends NodeEntry>> getBatchAsync(
       @Nullable SkyKey requestor, Reason reason, Iterable<? extends SkyKey> keys) {
-    return InterruptibleSupplier.Memoize.of(() -> getBatch(requestor, reason, keys));
+    return MemoizingInterruptibleSupplier.of(() -> getBatch(requestor, reason, keys));
   }
 
   /**