upstream.contents.setAttribute("edge", downstream.contents); downstream.contents.setAttribute("incoming",upstream.contents);
    private void cutGraph(FlatNode upstream, FlatNode downstream) {        // System.out.println("*** Cut Graph ***");        //The upstream has to be a filter or a null joiner,        //The downstream has to be a null splitter         assert (upstream.isFilter() || upstream.isNullJoiner()) &&                 (downstream.isFilter() || (downstream.isNullSplitter()));              if (upstream.isFilter()) {            SIRFilter upFilter = (SIRFilter) upstream.contents;            // reset upstream            upFilter.setPush(new JIntLiteral(0));            upFilter.setOutputType(CStdType.Void);            upstream.removeEdges();        }                // reset downstream        if (downstream.isFilter()) {            SIRFilter downFilter = (SIRFilter) downstream.contents;            downFilter.setPop(new JIntLiteral(0));            downFilter.setPeek(new JIntLiteral(0));            downFilter.setInputType(CStdType.Void);            downstream.removeIncoming();        }    }