JAL-2759 Replaced StringBuffer with StringBuilder; after review
[jalview.git] / src / jalview / datamodel / VisibleContigsIterator.java
index ff060ac..6d3f43d 100644 (file)
@@ -5,7 +5,9 @@ import java.util.Iterator;
 import java.util.List;
 
 /**
- * An iterator which iterates over visible regions in a range.
+ * An iterator which iterates over visible regions in a range. Provides a
+ * special "endsAtHidden" indicator to allow callers to determine if the final
+ * visible column is adjacent to a hidden region.
  */
 public class VisibleContigsIterator implements Iterator<int[]>
 {
@@ -37,9 +39,17 @@ public class VisibleContigsIterator implements Iterator<int[]>
         }
         if (hideStart > vstart)
         {
-          int[] contig = new int[] { vstart, hideStart - 1 };
-          vcontigs.add(contig);
-          endsAtHidden = true;
+          if (end - 1 > hideStart - 1)
+          {
+            int[] contig = new int[] { vstart, hideStart - 1 };
+            vcontigs.add(contig);
+            endsAtHidden = true;
+          }
+          else
+          {
+            int[] contig = new int[] { vstart, end - 1 };
+            vcontigs.add(contig);
+          }
         }
         vstart = hideEnd + 1;