public static <T, E extends Throwable> AOption<T> find(Iterable<T> coll, APredicate<? super T, E> pred) throws E {
        for(T o: coll) {
            if(pred.apply(o)) {
                return AOption.some(o);
            }
        }
        return AOption.none ();
    }
public static <T, E extends Throwable> AOption<T> find(Iterable<T> coll, APredicate<? super T, E> pred) throws E {
        for(T o: coll) {
            if(pred.apply(o)) {
                return AOption.some(o);
            }
        }
        return AOption.none ();
    }
public static < T , E extends Throwable > AOption < T > find ( Iterable < T > coll , APredicate < ? super T , E > pred ) throws E { for ( T o : coll ) { if ( pred . apply ( o ) ) { return AOption . some ( o ) ; } } return AOption . none ( ) ; }
Returns an element of a collection that matches a predicate, if any, or AOption.none() if there is no match.
Returns an element of a collection that matches a predicate if any or AOption . none () if there is no match .