Create a method to get the number of dep groups without getting all of the deps.

Saves a little bit of work/garbage during dirtiness checking.

RELNOTES: None.
PiperOrigin-RevId: 248234965
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 81e9dc6..408b448 100644
--- a/src/main/java/com/google/devtools/build/skyframe/InMemoryNodeEntry.java
+++ b/src/main/java/com/google/devtools/build/skyframe/InMemoryNodeEntry.java
@@ -207,12 +207,17 @@
   }
 
   @Override
-  public synchronized Iterable<SkyKey> getDirectDeps() {
+  public Iterable<SkyKey> getDirectDeps() {
     return GroupedList.compressedToIterable(getCompressedDirectDepsForDoneEntry());
   }
 
+  @Override
+  public int getNumberOfDirectDepGroups() {
+    return GroupedList.numGroups(getCompressedDirectDepsForDoneEntry());
+  }
+
   /** Returns the compressed {@link GroupedList} of direct deps. Can only be called when done. */
-  public synchronized @GroupedList.Compressed Object getCompressedDirectDepsForDoneEntry() {
+  public final synchronized @GroupedList.Compressed Object getCompressedDirectDepsForDoneEntry() {
     assertKeepDeps();
     Preconditions.checkState(isDone(), "no deps until done. NodeEntry: %s", this);
     Preconditions.checkNotNull(directDeps, "deps can't be null: %s", this);