code: @SuppressWarnings("unchecked")
      public final T first(T defaultValue) {
          if (this instanceof Callable) {
              return checkedCall((Callable<T>) this);
          }
          Iterator<T> it = iterator();
          if (it.hasNext()) {
              return it.next();
          }
          return defaultValue;
      }
docs: Returns the first element of this sequence or the defaultValue
  if this sequence is empty.
  @param defaultValue the value to return if this sequence is empty
  @return the first element or the default value
  @since 1.0
  @see #first()
  @see #last()