@Contract(value = "_, _ -> new", pure = true)
  public static @NotNull StringOperation remove(int startOffset, int endOffset) {
    return remove(TextRange.create(startOffset, endOffset));
  }
@Contract(value = "_, _ -> new", pure = true)
  public static @NotNull StringOperation remove(int startOffset, int endOffset)