@Nullable
    MappedRange findPredecessor(int token, @NotNull MappingSegments segments) {
      token--;
      while (token >= 0) {
        MappedRange mappedRange = segments.myRanges[token];
        if (mappedRange != null && mappedRange.mapper == this) return mappedRange;
        token--;
      }

      return null;
    }
@Nullable
    MappedRange findPredecessor(int token, @NotNull MappingSegments segments)