}
List<SingleElementSymbol> orderColumns = ((OrderBy)node.getProperty(NodeConstants.Info.SORT_ORDER)).getSortKeys();
PlanNode possibleSort = NodeEditor.findNodePreOrder(node, NodeConstants.Types.GROUP, NodeConstants.Types.SOURCE | NodeConstants.Types.ACCESS);
if (possibleSort != null) {
List exprs = (List)possibleSort.getProperty(Info.GROUP_COLS);
if (exprs != null && exprs.containsAll(orderColumns)) {
exprs.removeAll(orderColumns);
orderColumns.addAll(exprs);
possibleSort.setProperty(Info.GROUP_COLS, orderColumns);
if (node.getParent() == null) {
root = node.getFirstChild();