Map<String, dynamic> toJson() { return { 'text': text, if (range != null) 'range': range!.toJson(), }; }