I was looking into the various Result Iterators and noticed the query plan returns me a TableResultIterator and it internally was delegating the iteration of results to a ScanningResultIterator. 
To use the ResultIterator from the QueryPlan , I would need to recreate the instance within createRecordReader. I will do that in the next patch.