default @Nullable TextContent subText(TextRange range) {
    if (range.isEmpty()) return null;
    return excludeRange(new TextRange(range.getEndOffset(), length())).excludeRange(new TextRange(0, range.getStartOffset()));
  }
default @Nullable TextContent subText(TextRange range)