Index: NearSpans.java =================================================================== --- NearSpans.java (revision 219750) +++ NearSpans.java (working copy) @@ -314,12 +314,18 @@ } private boolean matchIsOrdered() { - int lastStart = -1; - for (int i = 0; i < ordered.size(); i++) { - int start = ((SpansCell)ordered.get(i)).start(); - if (!(start > lastStart)) - return false; + SpansCell spansCell = (SpansCell) ordered.get(0); + int lastStart = spansCell.start(); // no need to compare doc nrs here. + int lastEnd = spansCell.end(); + for (int i = 1; i < ordered.size(); i++) { + spansCell = (SpansCell) ordered.get(i); + int start = spansCell.start(); + int end = spansCell.end(); + if ((start < lastStart) || ((start == lastStart) && (end <= lastEnd))) { + return false; // also equal begin and end is not ordered. + } lastStart = start; + lastEnd = end; } return true; }