Working on model & description annotations.
diff --git a/core/api/src/main/java/org/onlab/onos/net/SparseAnnotations.java b/core/api/src/main/java/org/onlab/onos/net/SparseAnnotations.java
new file mode 100644
index 0000000..9382119
--- /dev/null
+++ b/core/api/src/main/java/org/onlab/onos/net/SparseAnnotations.java
@@ -0,0 +1,27 @@
+package org.onlab.onos.net;
+
+import java.util.Set;
+
+/**
+ * Represents an set of simply key/value string annotations.
+ */
+public interface SparseAnnotations extends Annotations {
+
+ /**
+ * {@inheritDoc}
+ * <p/>
+ * Note that this set includes keys for any attributes tagged for removal.
+ */
+ @Override
+ public Set<String> keys();
+
+ /**
+ * Indicates whether the specified key has been tagged as removed. This is
+ * used to for merging sparse annotation sets.
+ *
+ * @param key annotation key
+ * @return true if the previous annotation has been tagged for removal
+ */
+ public boolean isRemoved(String key);
+
+}