source property
A FormatException too, because that is what the engine threw for
bad bytes before this family existed, and code written then catches it
as on FormatException. Replacing a bare throw with one of these keeps
that code catching it.
The text that failed, where a refusal has it; null by default.
Implementation
@override
Object? get source => null;