# retainWhere method

void retainWhere (bool test(E element))
override

Removes all objects from this list that fail to satisfy `test`.

An object `o` satisfies `test` if `test(o)` is true.

    List<String> numbers = ['one', 'two', 'three', 'four'];
    numbers.retainWhere((item) => item.length == 3);
    numbers.join(', '); // 'one, two'

Throws an UnsupportedError if this is a fixed-length list.

## Implementation

    void retainWhere(bool test(E element)) {
      throw new UnsupportedError("Cannot remove from immutable List.");
    }