code: @Private Location lookup(int index) {
      int size = lineBreakIndices.size();
      if (size == 0) return location(0, index);
      int lineNumber = binarySearch(lineBreakIndices, index);
      if (lineNumber == 0) return location(0, index);
      int previousBreak = lineBreakIndices.get(lineNumber - 1);
      return location(lineNumber, index - previousBreak - 1);
    }
docs: Looks up the location identified by {@code ind} using the cached indices of line break
  characters. This assumes that all line-break characters before {@code ind} are already scanned.