Return raw SkyValue instead of wrapped ValueWithMetadata.

--
MOS_MIGRATED_REVID=101377320
diff --git a/src/main/java/com/google/devtools/build/skyframe/InMemoryNodeEntry.java b/src/main/java/com/google/devtools/build/skyframe/InMemoryNodeEntry.java
index 4c19c8f..a47626d 100644
--- a/src/main/java/com/google/devtools/build/skyframe/InMemoryNodeEntry.java
+++ b/src/main/java/com/google/devtools/build/skyframe/InMemoryNodeEntry.java
@@ -156,9 +156,9 @@
   }
 
   @Override
-  public synchronized ValueWithMetadata getValueWithMetadata() {
+  public synchronized SkyValue getValueMaybeWithMetadata() {
     Preconditions.checkState(isDone(), "no value until done: %s", this);
-    return ValueWithMetadata.wrapWithMetadata(value);
+    return value;
   }
 
   @Override
diff --git a/src/main/java/com/google/devtools/build/skyframe/NodeEntry.java b/src/main/java/com/google/devtools/build/skyframe/NodeEntry.java
index ed9904d..daf1ffc 100644
--- a/src/main/java/com/google/devtools/build/skyframe/NodeEntry.java
+++ b/src/main/java/com/google/devtools/build/skyframe/NodeEntry.java
@@ -84,12 +84,14 @@
 
 
   /**
-   * Returns the {@link SkyValue} for this entry and the metadata associated with it (Like events
-   * and errors). This method may only be called after the evaluation of this node is complete,
-   * i.e., after {@link #setValue} has been called.
+   * Returns raw {@link SkyValue} stored in this entry, which may include metadata associated with
+   * it (like events and errors). This method may only be called after the evaluation of this node
+   * is complete, i.e., after {@link #setValue} has been called.
+   *
+   * <p>Use the static methods of {@link ValueWithMetadata} to extract metadata if necessary.
    */
   @ThreadSafe
-  ValueWithMetadata getValueWithMetadata();
+  SkyValue getValueMaybeWithMetadata();
 
   /**
    * Returns the value, even if dirty or changed. Returns null otherwise.
diff --git a/src/main/java/com/google/devtools/build/skyframe/ParallelEvaluator.java b/src/main/java/com/google/devtools/build/skyframe/ParallelEvaluator.java
index ac27ee0..949e25e 100644
--- a/src/main/java/com/google/devtools/build/skyframe/ParallelEvaluator.java
+++ b/src/main/java/com/google/devtools/build/skyframe/ParallelEvaluator.java
@@ -1127,7 +1127,11 @@
         // always the case in a keepGoing evaluation, since it is assumed that done nodes do not
         // need to be traversed. In this case, we hope the caller is tolerant of a possibly empty
         // result, and return prematurely.
-        bubbleErrorInfo = ImmutableMap.of(errorKey, graph.get(errorKey).getValueWithMetadata());
+        bubbleErrorInfo =
+            ImmutableMap.of(
+                errorKey,
+                ValueWithMetadata.wrapWithMetadata(
+                    graph.get(errorKey).getValueMaybeWithMetadata()));
       }
     }
 
@@ -1649,7 +1653,9 @@
           "Value cannot have error before evaluation started", key, value);
       return ValueWithMetadata.wrapWithMetadata(value);
     }
-    return isDoneForBuild(entry) ? entry.getValueWithMetadata() : null;
+    return isDoneForBuild(entry)
+        ? ValueWithMetadata.wrapWithMetadata(entry.getValueMaybeWithMetadata())
+        : null;
   }
 
   @Nullable
diff --git a/src/test/java/com/google/devtools/build/skyframe/NotifyingInMemoryGraph.java b/src/test/java/com/google/devtools/build/skyframe/NotifyingInMemoryGraph.java
index f327fc5..0adaabb 100644
--- a/src/test/java/com/google/devtools/build/skyframe/NotifyingInMemoryGraph.java
+++ b/src/test/java/com/google/devtools/build/skyframe/NotifyingInMemoryGraph.java
@@ -135,9 +135,9 @@
     }
 
     @Override
-    public ValueWithMetadata getValueWithMetadata() {
+    public SkyValue getValueMaybeWithMetadata() {
       graphListener.accept(myKey, EventType.GET_VALUE_WITH_METADATA, Order.BEFORE, this);
-      return super.getValueWithMetadata();
+      return super.getValueMaybeWithMetadata();
     }
   }
 }