Just another pitch.
Do we really want the DocumentValues to be a MutableCollection? There are default implementations like sort which would destroy the correctness of your unordered dictionary. IMO all mutating functionality should be added manually to DocumentValues to ensure that it does the right in-place mutation.
Sent with Airmail