Index: lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/BaseFragmentsBuilder.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/BaseFragmentsBuilder.java (revision 1419316) +++ lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/BaseFragmentsBuilder.java (revision ) @@ -120,7 +120,6 @@ } List fragInfos = fieldFragList.getFragInfos(); - List fragments = new ArrayList( maxNumFragments ); Field[] values = getFields( reader, docId, fieldName ); if( values.length == 0 ) { return null; @@ -131,9 +130,12 @@ } fragInfos = getWeightedFragInfoList(fragInfos); + int limitFragments = maxNumFragments < fragInfos.size() ? maxNumFragments : fragInfos.size(); + List fragments = new ArrayList( limitFragments ); + StringBuilder buffer = new StringBuilder(); int[] nextValueIndex = { 0 }; - for( int n = 0; n < maxNumFragments && n < fragInfos.size(); n++ ){ + for( int n = 0; n < limitFragments; n++ ){ WeightedFragInfo fragInfo = fragInfos.get( n ); fragments.add( makeFragment( buffer, nextValueIndex, values, fragInfo, preTags, postTags, encoder ) ); }