code: public final Optional<E> firstMatch(Predicate<? super E> predicate) {
          return Iterables.tryFind(iterable, predicate);
      }
docs: Returns an {@link Optional} containing the first element in this fluent iterable that
  satisfies the given predicate, if such an element exists.
  
  <p><b>Warning:</b> avoid using a {@code predicate} that matches {@code null}. If {@code null}
  is matched in this fluent iterable, a {@link NullPointerException} will be thrown.