Maybe the following operator in `liftExample2` is better?

```Java
    // Skip the first n items. If the length of source is less than n, throw an IllegalArgumentException
    def skipWithException[T](n: Int) = (subscriber: Subscriber[T]) => {
      var count = 0
      Subscriber[T](
        subscriber,
        (v: T) => {
          if (count >= n) subscriber.onNext(v)
          count += 1
        },
        e => subscriber.onError(e),
        () => if (count < n) subscriber.onError(new IllegalArgumentException("There is no enough items")) else subscriber.onCompleted
      )
    }
```

If only asserting the length, because we can not get the length until `onCompleted`, how to handle the previous `onNext` if the assert fails in `onCompleted`.

However, I'm not sure if it's worth to add into RxJava...