// LUCENENET specific: Pass iterator instead of the value, since this class knows the type to retrieve, but the caller does not. public override void AddFromIterator(int doc, DocValuesFieldUpdatesIterator iterator) { Add(doc, ((Iterator)iterator).Value); }
// LUCENENET specific - use this instance to decide which subclass to cast to, which will expose the // strongly typed value. This allows us to access the long? type without boxing/unboxing. // The Add() method was removed and replaced with the following two. /// <summary> /// Add an update to a document from a <see cref="DocValuesFieldUpdatesIterator"/>. /// The <see cref="DocValuesFieldUpdatesIterator"/>'s value should be <c>null</c> to unset a value. /// Note that the value is exposed by casting to the apprpriate <see cref="DocValuesFieldUpdatesIterator"/> subclasss. /// </summary> public abstract void AddFromIterator(int doc, DocValuesFieldUpdatesIterator iterator);