extension FirstWhereOrNullExtension on Iterable { T? firstWhereOrNull(bool Function(T) test) { for (var element in this) { if (test(element)) { return element; } } return null; } }