@override Future<String> availabilityReason() async { final error = availabilityReasonError; if (error != null) throw error; return reason; }