private void pushdownThroughParent(TopNKeyOperator topNKey) throws SemanticException {
    Operator<? extends OperatorDesc> parent = topNKey.getParentOperators().get(0);
    LOG.debug("Pushing {} through {}", topNKey.getName(), parent.getName());
    moveDown(topNKey);
    pushdown(topNKey);
  }
Push through Project if expression(s) in TopNKey can be mapped to expression(s) based on Project input.

@param topNKey TopNKey operator to push
@throws SemanticException when removeChildAndAdoptItsChildren was not successful in the method pushdown
ql/src/java/org/apache/hadoop/hive/ql/optimizer/topnkey/TopNKeyPushdownProcessor.java