code: public final Optional<E> firstMatch(Predicate<? super E> predicate) {
      return Iterables.tryFind(getDelegate(), 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.
  
  <p><b>{@code Stream} equivalent:</b> {@code stream.filter(predicate).findFirst()}.