It would be clearer if this code cast "plan" to LimitPlanNode before passing into the constructor, and the constructor signature tightened up accordingly.