Make Pair class equality comparable

Change-Id: I98ac87f6a978dde99f3b099d7d6ea596b078358c
diff --git a/src/main/java/net/onrc/onos/core/util/Pair.java b/src/main/java/net/onrc/onos/core/util/Pair.java
index abf9fed..6fe8101 100644
--- a/src/main/java/net/onrc/onos/core/util/Pair.java
+++ b/src/main/java/net/onrc/onos/core/util/Pair.java
@@ -1,5 +1,7 @@
 package net.onrc.onos.core.util;
 
+import java.util.Objects;
+
 /**
  * A generic class representing a pair of two values.
  */
@@ -22,4 +24,24 @@
     public String toString() {
         return String.format("<%s, %s>", first, second);
     }
+
+    @Override
+    public boolean equals(Object o) {
+        if (o == this) {
+            return true;
+        }
+
+        if (!(o instanceof Pair)) {
+            return false;
+        }
+
+        Pair<?, ?> that = (Pair<?, ?>) o;
+        return Objects.equals(this.first, that.first)
+                && Objects.equals(this.second, that.second);
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hash(this.first, this.second);
+    }
 }