@Contract(pure = true)
  public static boolean containsRange(@NotNull Segment outer, @NotNull Segment inner) {
    return outer.getStartOffset() <= inner.getStartOffset() && inner.getEndOffset() <= outer.getEndOffset();
  }
@Contract(pure = true)
  public static boolean containsRange(@NotNull Segment outer, @NotNull Segment inner)