Is this trampoline necessary?

```java
final Iterator<? extends T> it = is.iterator();
o.setProducer(new Producer() {
	// TODO migrate to AFU
	final AtomicInteger requested = new AtomicInteger();

	@Override
	public void request(int n) {
		int _c = requested.getAndAdd(n);
		if (_c == 0) {
			while (it.hasNext()) {
				if (o.isUnsubscribed()) {
					return;
				}
				T t = it.next();
				o.onNext(t);
				_c = requested.decrementAndGet();
				if (_c == 0) {
					// we're done emitting the number requested so return
					return;
				}
			}

			if (o.isUnsubscribed()) {
				return;
			}
			o.onCompleted();
		}
	}

});
```