it is slightly weird to not dequeueInputElement when we have been signaled demand, but it looks okay here