private static void createGraph(SIROperator current)
private void createGraph(SIROperator current)
    private static void createGraph(SIROperator current)     {	if (current instanceof SIRFilter) {	    FlatNode node = new FlatNode(current);	    if (top == null) {		currentNode = node;		top = node;	    }	    	    currentNode.addEdges(node);	    currentNode = node;	}	if (current instanceof SIRPipeline){	    SIRPipeline pipeline = (SIRPipeline) current;	    	    for (int i=0; i<pipeline.size(); i++) {		createGraph(pipeline.get(i));	    }	}	if (current instanceof SIRSplitJoin) {	    SIRSplitJoin sj = (SIRSplitJoin) current;	    FlatNode splitterNode = new FlatNode (sj.getSplitter());	    if (top == null) {		currentNode = splitterNode;		top = splitterNode;	    }	    	    FlatNode joinerNode = new FlatNode (sj.getJoiner());	    	    	    currentNode.addEdges(splitterNode);	    for (int i = 0; i < sj.size(); i++) {		currentNode = splitterNode;		createGraph(sj.get(i));		currentNode.addEdges(joinerNode);	    }	    currentNode = joinerNode;	    	}	if (current instanceof SIRFeedbackLoop) {	    SIRFeedbackLoop loop = (SIRFeedbackLoop)current;	    FlatNode joinerNode = new FlatNode(loop.getJoiner());	    if (top == null) {		//currentNode = joinerNode;		top = joinerNode;		}	    FlatNode splitterNode = new FlatNode(loop.getSplitter());	    FlatNode.addEdges(currentNode, joinerNode);	    	    	    currentNode = joinerNode;	    createGraph(loop.getBody());	    FlatNode.addEdges(currentNode, splitterNode);	    	    currentNode = splitterNode;	    createGraph(loop.getLoop());	    FlatNode.addEdges(currentNode, joinerNode);	    currentNode = splitterNode;	}    }