Adj-In RIB code fix

Change-Id: Ice870ab1aff068cc27a5337a3f4ff7090a53d84d
diff --git a/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpAttrNodeMultiTopologyId.java b/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpAttrNodeMultiTopologyId.java
index caf73a0..31d855d 100644
--- a/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpAttrNodeMultiTopologyId.java
+++ b/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/attr/BgpAttrNodeMultiTopologyId.java
@@ -17,6 +17,7 @@
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.ListIterator;
 import java.util.Objects;
 
 import org.jboss.netty.buffer.ChannelBuffer;
@@ -134,4 +135,30 @@
                 .add("multiTopologyId", multiTopologyId)
                 .toString();
     }
+
+    @Override
+    public int compareTo(Object o) {
+        if (this.equals(o)) {
+            return 0;
+        }
+        int countOtherSubTlv = ((BgpAttrNodeMultiTopologyId) o).multiTopologyId.size();
+        int countObjSubTlv = multiTopologyId.size();
+        if (countOtherSubTlv != countObjSubTlv) {
+            if (countOtherSubTlv > countObjSubTlv) {
+                return 1;
+            } else {
+                return -1;
+            }
+       }
+        ListIterator<Short> listIterator = multiTopologyId.listIterator();
+        ListIterator<Short> listIteratorOther = ((BgpAttrNodeMultiTopologyId) o).multiTopologyId.listIterator();
+        while (listIterator.hasNext()) {
+            short id = listIterator.next();
+            short id1 = listIteratorOther.next();
+            if (((Short) id).compareTo((Short) id1) != 0) {
+                return ((Short) id).compareTo((Short) id1);
+            }
+        }
+        return 0;
+    }
 }
\ No newline at end of file