Only if I call ScanUtil.intersectScanRange() I get correct results. You had earlier commented on avoiding code duplication and I assumed it was on the intersect logic.  If possible, can you please let me know the exact code logic you wanted to avoid.

For now, I am handling only normal Scan queries and throwing an exception when Aggregate queries are given to the LOAD. 

Regarding design document, I will definitely work on it once I do a final hand off on code and test cases.