Actually, the ability to skip the Order By plan node for a join with a valid "((IndexScanPlanNode)m_children.get(0)).getSortDirection()" applies equally to class NestLoopPlanNode -- even though that type (or its abstract base class) doesn't even define m_sortDirection (YET) that can be picked up by handleOrderBy.
So, while you have handled the "easiest case", I think that there are still cases, slightly less easy, still within reach. 

We need to decide whether we want to polish up and integrate the current level of progress or to first include the next level of functionality on this branch. The JIRA issue is a little vague about the exact set of cases we expect to be able to handle. My own assumption was that it would stop short of any significant re-work of the IndexScan code or its "indexed access path" precursors, but that manipulation of join, limit, and order by nodes was fair game. Agile development usually encourages small steps, but the decision about the scope of this current step depends a little on how much "polish" work would have to be done/undone/redone to integrate this first step before starting on the next level of functionality.