code: public OriginalPosition originalPositionFor(int line, int column, Bias bias) {
          ParsedSection needle = new ParsedSection(new ParsedOffset(line, column), null);
  
          // Find the section containing the generated position we're trying to map
          // to an original position.
          int sectionIndex = BinarySearch.search(needle, this._sections, (section1, section2) -> {
              int cmp = section1.generatedOffset.generatedLine - section2.generatedOffset.generatedLine;
              if (cmp != 0) {
                  return cmp;
              }
  
              return (section1.generatedOffset.generatedColumn - section2.generatedOffset.generatedColumn);
          } , null);
          ParsedSection section = this._sections.get(sectionIndex);
  
          if (section == null) {
              return new OriginalPosition();
          }
  
          return section.consumer.originalPositionFor(needle.generatedOffset.generatedLine - (section.generatedOffset.generatedLine - 1),
                  needle.generatedOffset.generatedColumn - (section.generatedOffset.generatedLine == needle.generatedOffset.generatedLine
                          ? section.generatedOffset.generatedColumn - 1 : 0),
                  bias);
      }
docs: Returns the original source, line, and column information for the generated source's line and column positions provided. The only argument is
  an object with the following properties:
  <ul>
  <li>line: The line number in the generated source.</li>
  <li>column: The column number in the generated source.</li>
  </ul>
  and an object is returned with the following properties:
  <ul>
  <li>source: The original source file, or null.</li>
  <li>line: The line number in the original source, or null.</li>
  <li>column: The column number in the original source, or null.</li>
  <li>name: The original identifier, or null.</li>
  </ul>