Revisit Annotations merging

- avoid extra instantiation/copying when possible

Change-Id: Ia2f74a1fe2ff1176346316565c9bc6786cd7f6e4
diff --git a/core/api/src/main/java/org/onosproject/net/DefaultAnnotations.java b/core/api/src/main/java/org/onosproject/net/DefaultAnnotations.java
index f86df5e..2dab3a2 100644
--- a/core/api/src/main/java/org/onosproject/net/DefaultAnnotations.java
+++ b/core/api/src/main/java/org/onosproject/net/DefaultAnnotations.java
@@ -141,6 +141,10 @@
             return annotations;
         }
 
+        if (annotations.keys().isEmpty()) {
+            return sparseAnnotations;
+        }
+
         final HashMap<String, String> newMap;
         if (annotations instanceof DefaultAnnotations) {
             newMap = copy(((DefaultAnnotations) annotations).map);