Tracks live field values across NRT reader reopens.
This holds a map for all updated ids since
the last reader reopen. Once the NRT reader is reopened,
it prunes the map. This means you must reopen your NRT
reader periodically otherwise the RAM consumption of
this class will grow unbounded!

NOTE: you must ensure the same id is never updated at
the same time by two threads, because in this case you
cannot in general know which thread "won".

add(String id,
T value)
Call this after you've successfully added a document
to the index, to record what value you just set the
field to.

void

afterRefresh(boolean didRefresh)
Called after the attempted refresh; if the refresh
did open a new reference then didRefresh will be true
and ReferenceManager.acquire() is guaranteed to return the new
reference.