Sorry didn't make myself clear. What I was hinting at, was covariant overrides of onClose(), parallel(), sequential(), unordered() in Stream such as Stream.java /** {@inheritDoc} */ Stream<T> unordered(); /** {@inheritDoc} */ Stream<T> parallel(); ..... Cheers Kasper