Buggy code:
public class LiveIndexWriterConfig { private final Analyzer analyzer ; private volatile int maxBufferedDocs ; private volatile double ramBufferSizeMB ; private volatile int maxBufferedDeleteTerms ; private volatile int readerTermsIndexDivisor ; private volatile IndexReaderWarmer mergedSegmentWarmer ; private volatile int termIndexInterval ; protected volatile IndexDeletionPolicy delPolicy ; protected volatile IndexCommit commit ; protected volatile OpenMode openMode ; protected volatile Similarity similarity ; protected volatile MergeScheduler mergeScheduler ; protected volatile long writeLockTimeout ; protected volatile IndexingChain indexingChain ; protected volatile Codec codec ; protected volatile InfoStream infoStream ; protected volatile MergePolicy mergePolicy ; protected volatile DocumentsWriterPerThreadPool indexerThreadPool ; protected volatile boolean readerPooling ; protected volatile FlushPolicy flushPolicy ; protected volatile int perThreadHardLimitMB ; protected final Version matchVersion ; LiveIndexWriterConfig ( Analyzer analyzer , Version matchVersion ) { } LiveIndexWriterConfig ( IndexWriterConfig config ) { } public Analyzer getAnalyzer ( ) { } public LiveIndexWriterConfig setTermIndexInterval ( int interval ) { } public int getTermIndexInterval ( ) { } public LiveIndexWriterConfig setMaxBufferedDeleteTerms ( int maxBufferedDeleteTerms ) { } public int getMaxBufferedDeleteTerms ( ) { } public LiveIndexWriterConfig setRAMBufferSizeMB ( double ramBufferSizeMB ) { } public double getRAMBufferSizeMB ( ) { } public LiveIndexWriterConfig setMaxBufferedDocs ( int maxBufferedDocs ) { } public int getMaxBufferedDocs ( ) { } public LiveIndexWriterConfig setMergedSegmentWarmer ( IndexReaderWarmer mergeSegmentWarmer ) { } public IndexReaderWarmer getMergedSegmentWarmer ( ) { } public LiveIndexWriterConfig setReaderTermsIndexDivisor ( int divisor ) { } public int getReaderTermsIndexDivisor ( ) { } public OpenMode getOpenMode ( ) { } public IndexDeletionPolicy getIndexDeletionPolicy ( ) { } public IndexCommit getIndexCommit ( ) { } public Similarity getSimilarity ( ) { } public MergeScheduler getMergeScheduler ( ) { } public long getWriteLockTimeout ( ) { } public Codec getCodec ( ) { } public MergePolicy getMergePolicy ( ) { } DocumentsWriterPerThreadPool getIndexerThreadPool ( ) { } public int getMaxThreadStates ( ) { } public boolean getReaderPooling ( ) { } IndexingChain getIndexingChain ( ) { } public int getRAMPerThreadHardLimitMB ( ) { } FlushPolicy getFlushPolicy ( ) { } public InfoStream getInfoStream ( ) { } @ Override public String toString ( ) { StringBuilder sb = new StringBuilder ( ) ; sb . append ( "matchVersion=" ) . append ( matchVersion ) . append ( "\n" ) ; sb . append ( "analyzer=" ) . append ( ( ( analyzer ) == null ? "null" : analyzer . getClass ( ) . getName ( ) ) ) . append ( "\n" ) ; sb . append ( "ramBufferSizeMB=" ) . append ( getRAMBufferSizeMB ( ) ) . append ( "\n" ) ; sb . append ( "maxBufferedDocs=" ) . append ( getMaxBufferedDocs ( ) ) . append ( "\n" ) ; sb . append ( "maxBufferedDeleteTerms=" ) . append ( getMaxBufferedDeleteTerms ( ) ) . append ( "\n" ) ; sb . append ( "mergedSegmentWarmer=" ) . append ( getMergedSegmentWarmer ( ) ) . append ( "\n" ) ; sb . append ( "readerTermsIndexDivisor=" ) . append ( getReaderTermsIndexDivisor ( ) ) . append ( "\n" ) ; sb . append ( "termIndexInterval=" ) . append ( getTermIndexInterval ( ) ) . append ( "\n" ) ; sb . append ( "delPolicy=" ) . append ( getIndexDeletionPolicy ( ) . getClass ( ) . getName ( ) ) . append ( "\n" ) ; IndexCommit commit = getIndexCommit ( ) ; sb . append ( "commit=" ) . append ( ( commit == null ? "null" : commit ) ) . append ( "\n" ) ; sb . append ( "openMode=" ) . append ( getOpenMode ( ) ) . append ( "\n" ) ; sb . append ( "similarity=" ) . append ( getSimilarity ( ) . getClass ( ) . getName ( ) ) . append ( "\n" ) ; <START_BUG> sb . append ( "mergeScheduler=" ) . append ( getMergeScheduler ( ) . getClass ( ) . getName ( ) ) . append ( "\n" ) ; <END_BUG> sb . append ( "default<seq2seq4repair_space>WRITE_LOCK_TIMEOUT=" ) . append ( WRITE_LOCK_TIMEOUT ) . append ( "\n" ) ; sb . append ( "writeLockTimeout=" ) . append ( getWriteLockTimeout ( ) ) . append ( "\n" ) ; sb . append ( "codec=" ) . append ( getCodec ( ) ) . append ( "\n" ) ; sb . append ( "infoStream=" ) . append ( getInfoStream ( ) . getClass ( ) . getName ( ) ) . append ( "\n" ) ; sb . append ( "mergePolicy=" ) . append ( getMergePolicy ( ) ) . append ( "\n" ) ; sb . append ( "indexerThreadPool=" ) . append ( getIndexerThreadPool ( ) ) . append ( "\n" ) ; sb . append ( "readerPooling=" ) . append ( getReaderPooling ( ) ) . append ( "\n" ) ; sb . append ( "perThreadHardLimitMB=" ) . append ( getRAMPerThreadHardLimitMB ( ) ) . append ( "\n" ) ; return sb . toString ( ) ; } }

Fix:
sb . append ( "mergeScheduler=" ) . append ( getMergeScheduler ( ) ) . append ( "\n" ) ;