docs: public static <T> T first(Collection<T> items, Predicate<T> predicate) {
          T firstOrNull = firstOrNull(items, predicate);
  
          if (firstOrNull == null) {
              throw new InvalidOperationException("No items match!");
          } else {
              return firstOrNull;
          }
      }