Gets the value associated with the provided key, or null if no value was found.
Gets the value associated with the provided key, or null if no value was found. The decision of returning null when the key is not present is a conscious one, backed by the fact that users will never be exposed to this storage interface and they can decide their way of handling missing values by selecting an appropriate lookup.
Returns true if there are no tags in the storage.
Provides an Iterator that can go through all key/value pairs contained in the Storage instance.
Abstracts the actual storage used for a TagSet. This interface resembles a stripped down interface of an immutable map of String to Any, used to expose the underlying structure where tags are stored to Lookups, without leaking the actual implementation.