@Contract(pure = true)
  default List<TextRange> intersection(TextRange rangeInFile) {
    return ContainerUtil.mapNotNull(getRangesInFile(), r -> r.intersection(rangeInFile));
  }
@Contract(pure = true)
  default List<TextRange> intersection(TextRange rangeInFile)