If you start by searching for the RECEIVE node, you can search for the scan node below it -- scan nodes above it are not interesting.
There are methods for locating child plannodes by type:
     ArrayList<AbstractPlanNode> findAllNodesOfType(PlanNodeType type) can find the 1 RECEIVE node -- for future versions of this code, it will be able to handle joins.
    "ArrayList<AbstractScanPlanNode> getScanNodeList" will give you a list that you can filter by whether it references mvTable -- or, for now, just assert that the 1 element does reference mvTable.