Intern IntVersions.

--
MOS_MIGRATED_REVID=113197641
diff --git a/src/main/java/com/google/devtools/build/skyframe/IntVersion.java b/src/main/java/com/google/devtools/build/skyframe/IntVersion.java
index 38b2d71..cfb3484 100644
--- a/src/main/java/com/google/devtools/build/skyframe/IntVersion.java
+++ b/src/main/java/com/google/devtools/build/skyframe/IntVersion.java
@@ -13,16 +13,20 @@
 // limitations under the License.
 package com.google.devtools.build.skyframe;
 
+import com.google.common.collect.Interner;
+import com.google.common.collect.Interners;
+
 import java.io.Serializable;
 
 /**
  * Versioning scheme based on integers.
  */
 public final class IntVersion implements Version, Serializable {
+  private static final Interner<IntVersion> interner = Interners.newWeakInterner();
 
   private final long val;
 
-  public IntVersion(long val) {
+  private IntVersion(long val) {
     this.val = val;
   }
 
@@ -31,11 +35,15 @@
   }
 
   public IntVersion next() {
-    return new IntVersion(val + 1);
+    return of(val + 1);
   }
 
   public IntVersion previous() {
-    return new IntVersion(val - 1);
+    return of(val - 1);
+  }
+
+  public static IntVersion of(long val) {
+    return interner.intern(new IntVersion(val));
   }
 
   @Override