In SegmentReader, currently the access to FieldsReader.doc(n) is synchronized (which is must be).
Does it not make sense to use a ThreadLocal implementation similar to the TermInfosReader? It seems that in a highly multi-threaded server this synchronized method could lead to significant blocking when the documents are being retrieved?