Make `ArtifactNestedSetValue` a singleton.

The reason it was not a singleton was to prohibit value-based change pruning. We can instead use the `NotComparableSkyValue` marker interface for the same purpose.

PiperOrigin-RevId: 547647467
Change-Id: Ie955a75df00099421981fc9d78f793b67020412a
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ArtifactNestedSetValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/ArtifactNestedSetValue.java
index b543064..c446f4a 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/ArtifactNestedSetValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/ArtifactNestedSetValue.java
@@ -15,12 +15,19 @@
 
 import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
 import com.google.devtools.build.lib.concurrent.ThreadSafety.ThreadSafe;
-import com.google.devtools.build.skyframe.SkyValue;
+import com.google.devtools.build.skyframe.NotComparableSkyValue;
 
 /**
  * Represent a "promise" that the Artifacts under a NestedSet are evaluated by Skyframe and are
- * available in {@link ArtifactNestedSetFunction#artifactSkyKeyToSkyValue}.
+ * available from {@link ArtifactNestedSetFunction#getValueForKey}.
+ *
+ * <p>Implements {@link NotComparableSkyValue} to prohibit value-based change pruning.
  */
 @Immutable
 @ThreadSafe
-public final class ArtifactNestedSetValue implements SkyValue {}
+final class ArtifactNestedSetValue implements NotComparableSkyValue {
+
+  static final ArtifactNestedSetValue INSTANCE = new ArtifactNestedSetValue();
+
+  private ArtifactNestedSetValue() {}
+}