Because I think the listener should be invoked before check it is complete and only if not resume the reads.