Dart filters lists through the
List.retainWhere methods. The
where function takes one argument: a boolean function that is applied to each element of the list. If the function evaluates to
true then the list element is retained; if the function evaluates to
false, the element is removed.
theList.retainWhere(foo) is practically equivalent to setting
theList = theList.where(foo).