code: public final Optional<T> first() {
          Iterator<T> iterator = this.iterator();
          return iterator.hasNext()
                  ? Optional.of(iterator.next())
                  : empty();
      }
docs: Returns an {@link Optional} containing the first element in this fluent iterable.
  If the iterable is empty, {@code Optional.absent()} is returned.