final public static function memberByPredicateWithDefault(
        $predicate,
        MultitonInterface $default = null
    ) {
        foreach (static::members() as $member) {
            if ($predicate($member)) {
                return $member;
            }
        }

        return $default;
    }