when<TResult extends Object?>  method 
      
  
TResult
when<TResult extends Object?>( 
    
- TResult $default(- bool autoShow,
- RefreshController<T> ? controller,
- SearchSupportCoreUiBuild childBuilder,
- SearchSupportActionListening? listening,
 
A switch-like method, using callbacks.
As opposed to map, this offers destructuring.
It is equivalent to doing:
switch (sealedClass) {
  case Subclass(:final field):
    return ...;
  case Subclass2(:final field2):
    return ...;
}
Implementation
@optionalTypeArgs
TResult when<TResult extends Object?>(
  TResult Function(
          bool autoShow,
          RefreshController<T>? controller,
          SearchSupportCoreUiBuild childBuilder,
          SearchSupportActionListening? listening)
      $default,
) {
  final _that = this;
  switch (_that) {
    case _SearchSupportParams():
      return $default(_that.autoShow, _that.controller, _that.childBuilder,
          _that.listening);
  }
}