code: public ISynchronizationPoint<Exception> nextStartElement() {
  		ISynchronizationPoint<Exception> next = next();
  		if (next.isUnblocked()) {
  			if (next.hasError()) return next;
  			if (Type.START_ELEMENT.equals(event.type)) return next;
  			return nextStartElement();
  		}
  		SynchronizationPoint<Exception> sp = new SynchronizationPoint<>();
  		next.listenInline(
  			() -> {
  				if (Type.START_ELEMENT.equals(event.type)) {
  					sp.unblock();
  					return;
  				}
  				new Next(sp) {
  					@Override
  					protected void onNext() {
  						if (Type.START_ELEMENT.equals(event.type)) sp.unblock();
  						else nextStartElement().listenInline(sp);
  					}
  				}.start();
  			},
  			sp
  		);
  		return sp;
  	}
docs: Shortcut to move forward to the next START_ELEMENT.