Fixed longer left expansion match order.

Change-Id: Id541bf5a2e57f8315f31f6ae0a4984a9e58c4782
diff --git a/src/main/java/de/ids_mannheim/korap/query/spans/ExpandedSpans.java b/src/main/java/de/ids_mannheim/korap/query/spans/ExpandedSpans.java
index eb3641f..ecdafc0 100644
--- a/src/main/java/de/ids_mannheim/korap/query/spans/ExpandedSpans.java
+++ b/src/main/java/de/ids_mannheim/korap/query/spans/ExpandedSpans.java
@@ -95,7 +95,8 @@
                 return true;
             }
             else {
-                setCandidateList(firstSpans.end());
+                setCandidateList();
+//                log.debug(candidateSpans.toString());
             }
         }
         return false;
@@ -107,14 +108,9 @@
      * all possible expansion with respect to the expansion length
      * (min,max) variables.
      * 
-     * @param lastPosition
-     *            is used in left expansion. The start position of
-     *            the candidates to collect must not beyond this
-     *            position.
-     * 
      * @throws IOException
      */
-    private void setCandidateList (int lastPosition) throws IOException {
+    private void setCandidateList () throws IOException {
         CandidateSpan cs;
         int counter, start, end;
 
@@ -130,10 +126,12 @@
                 counter--;
             }
             
+            int lastPosition = firstSpans.start();
             if (hasMoreSpans && (hasMoreSpans = firstSpans.next()) ) {
                 start = Math.max(0, firstSpans.start() - max);
+                log.debug("next candidate start: "+start+", lastPosition "+lastPosition);
                 if (start <= lastPosition) {
-                    setCandidateList(lastPosition);
+                    setCandidateList();
                 }
             }
         }
diff --git a/src/main/java/de/ids_mannheim/korap/query/spans/NextSpans.java b/src/main/java/de/ids_mannheim/korap/query/spans/NextSpans.java
index fc915c8..5e21d39 100644
--- a/src/main/java/de/ids_mannheim/korap/query/spans/NextSpans.java
+++ b/src/main/java/de/ids_mannheim/korap/query/spans/NextSpans.java
@@ -114,9 +114,11 @@
                 matchList.remove(0);
                 return true;
             }
+            
             // Forward firstspan
             hasMoreFirstSpan = firstSpans.next();
             if (hasMoreFirstSpan){
+                log.debug("FirstSpan "+firstSpans.start() +","+firstSpans.end());
                 setMatchList();
             }
             else {
@@ -170,6 +172,7 @@
      * @throws IOException
      */
     private void searchCandidates () throws IOException {
+        log.debug(candidateList.toString());
         Iterator<CandidateSpan> i = candidateList.iterator();
         CandidateSpan cs;
         while (i.hasNext()) {
@@ -200,6 +203,7 @@
     private void searchMatches () throws IOException {
 
         while (hasMoreSpans && candidateListDocNum == secondSpans.doc()) {
+            log.debug("SecondSpan " +secondSpans.start() + "," + secondSpans.end());
             if (secondSpans.start() > firstSpans.end()) {
                 break;
             }