static <T> Stream<T> filter(Stream<T> stream, Predicate<? super T> predicate) {
        requireNonNull(stream);
        requireNonNull(predicate);
        try {
            @SuppressWarnings("unchecked")
            final Stream<T> s = (Stream<T>) FILTER_METHOD_HANDLE.invoke(stream, predicate);
            return s;
        } catch (Throwable t) {
            throw new SpeedmentException(t);
        }
    }
Delegates a Stream::dropWhile operation to the Java platforms underlying
default Stream implementation. If run under Java 8, this method will
throw an UnsupportedOperationException.

@param <T> Element type in the Stream
@param stream to apply the dropWhile operation to
@param predicate to use for dropWhile
@throws UnsupportedOperationException if run under Java 8
@return a Stream where the dropWhile(predicate) has been applied
runtime-parent/runtime-core/src/main/java/com/speedment/runtime/core/stream/java9/Java9StreamUtil.java