public IndexableField getField(FieldInfo fieldInfo) {fieldNames.add(fieldInfo.name);List<LazyField> values = fields.get(fieldInfo.number);if (null == values) {values = new ArrayList<>();fields.put(fieldInfo.number, values);}LazyField value = new LazyField(fieldInfo.name, fieldInfo.number);values.add(value);synchronized (this) {doc = null;}return value;}

public IndexableField getField ( FieldInfo fieldInfo ) { fieldNames . add ( fieldInfo . name ) ; List < LazyField > values = fields . get ( fieldInfo . number ) ; if ( null == values ) { values = new ArrayList < > ( ) ; fields . put ( fieldInfo . number , values ) ; } LazyField value = new LazyField ( fieldInfo . name , fieldInfo . number ) ; values . add ( value ) ; synchronized ( this ) { doc = null ; } return value ; }
public virtual IIndexableField GetField(FieldInfo fieldInfo){fieldNames.Add(fieldInfo.Name);IList<LazyField> values;if (!fields.TryGetValue(fieldInfo.Number, out values) || null == values){values = new List<LazyField>();fields[fieldInfo.Number] = values;}LazyField value = new LazyField(this, fieldInfo.Name, fieldInfo.Number);values.Add(value);lock (this){doc = null;}return value;}
