code: @NotNull
      public Stream<T> skip(final long n) {
          if (n < 0) throw new IllegalArgumentException("n cannot be negative");
          if (n == 0) return this;
          return new Stream<T>(params, new ObjSkip<T>(iterator, n));
      }
docs: Skips first {@code n} elements and returns {@code Stream} with remaining elements.
  If stream contains fewer than {@code n} elements, then an empty stream will be returned.
  
  <p>This is a stateful intermediate operation.
  
  <p>Example:
  <pre>
  n: 3
  stream: [1, 2, 3, 4, 5]
  result: [4, 5]
  
  n: 10
  stream: [1, 2]
  result: []
  </pre>
  
  @param n  the number of elements to skip
  @return the new stream
  @throws IllegalArgumentException if {@code n} is negative