Map implementation that allows to define the class that implements
the Map.Entry.
The present implementation does not allow null to be used
as a key in the map.
Extension of the gap list which is expected to store elements
that have an integer offset stored in them.
The elements must be stored in the list in an ascending order.
To efficiently manage offsets that need to change upon
inserts and removes into an underlying storage (e.g.