maybePop<T extends Object?>  method 
Clients can either pop their own _pages stack
or defer the call to a parent controller
see Navigator.maybePop(context) for more details
Implementation
@override
@optionalTypeArgs
Future<bool> maybePop<T extends Object?>([T? result]) async {
  final NavigatorState? navigator = _navigatorKey.currentState;
  if (navigator == null) return SynchronousFuture<bool>(false);
  if (await navigator.maybePop<T>(result)) {
    return true;
  } else if (_parent != null) {
    return _parent!.maybePop<T>(result);
  } else {
    return false;
  }
}