private void addSJEdges() {
      LinkedHashMap<ReduceSinkOperator, SemiJoinBranchInfo> rs2sj = pctx.getRsToSemiJoinBranchInfo();
      for (Entry<ReduceSinkOperator, SemiJoinBranchInfo> e : rs2sj.entrySet()) {
        ReduceSinkOperator rs = e.getKey();
        SemiJoinBranchInfo sji = e.getValue();
        TableScanOperator ts = sji.getTsOp();

        rs.getChildOperators().add(ts);
        ts.getParentOperators().add(rs);
      }
    }
This {@link AutoCloseable} class makes it possible to show SemiJoin edges as normal operator edges temporarily.
ql/src/java/org/apache/hadoop/hive/ql/optimizer/ParallelEdgeFixer.java