protected int[] findNextOverlappingChar(
     FormattedString s1, FormattedString s2, int s1Offset, int s2Offset) {
   final int lenght = 2;
   if (lenght + s2Offset >= s2.length()) return null;
   int[] best = null;
   int i1 = 0;
   while (i1 + lenght + s1Offset < s1.length()) {
     String cand = s1.substring(s1Offset + i1, s1Offset + i1 + lenght);
     int i2 = s2.indexOf(cand, s2Offset) - s2Offset;
     if (i2 >= 0 && (best == null || best[0] + best[1] > i1 + i2)) best = new int[] {i1, i2};
     if (best != null && best[0] + best[1] > i1) return best;
     i1++;
   }
   return best;
 }