private List<ExprNodeDesc> mapUntilColumnEquals(List<ExprNodeDesc> columns, Map<String,
          ExprNodeDesc> colExprMap) {
    if (colExprMap == null) {
      return new ArrayList<>(0);
    }
    final List<ExprNodeDesc> mappedColumns = new ArrayList<>();
    for (ExprNodeDesc column : columns) {
      final String columnName = column.getExprString();
      if (colExprMap.containsKey(columnName)) {
        mappedColumns.add(colExprMap.get(columnName));
      } else {
        return mappedColumns;
      }
    }
    return mappedColumns;
  }
Tries to push the TopNKeyFilter through an inner join:
 requirements:
   - being PK-FK join
   - PK side is not filtered
   - First n TopNKey key columns (Order By) are originated from the FK side.
@throws SemanticException
ql/src/java/org/apache/hadoop/hive/ql/optimizer/topnkey/TopNKeyPushdownProcessor.java