@override Future<void> closeWithResult<X>([X? value]) { return widget.onCloseWithResult?.call(value) ?? Future.value(); }