static <T> Stream<T> of(final Iterator<? extends T> iterator, int startIndex, int endIndex) {
        if (iterator == null && (startIndex == 0 && endIndex == 0)) {
            return empty();
        }

        if (startIndex < 0 || endIndex < startIndex) {
            throw new IllegalArgumentException("startIndex(" + startIndex + ") or endIndex(" + endIndex + ") is invalid");
        }

        return Stream.<T> of(iterator).skip(startIndex).limit(endIndex - startIndex);
    }
static < T > Stream < T > of ( final Iterator < ? extends T > iterator , int startIndex , int endIndex ) { if ( iterator == null && ( startIndex == 0 && endIndex == 0 ) ) { return empty ( ) ; } if ( startIndex < 0 || endIndex < startIndex ) { throw new IllegalArgumentException ( "startIndex(" + startIndex + ") or endIndex(" + endIndex + ") is invalid" ) ; } return Stream . < T > of ( iterator ) . skip ( startIndex ) . limit ( endIndex - startIndex ) ; }
@param c
@param startIndex
@param endIndex
@return