if (init==null) { StreamItDot.printGraph(sj, "debug.dot"); StreamItDot.printGraph(sj.getParent(), "debug2.dot"); }
    private static JMethodDeclaration makeInitFunction(SIRSplitJoin sj,						       List children) {         // Start with the init function from the split/join.	JMethodDeclaration init = sj.getInit();	// add calls to init functions	for (int i=0; i<sj.size(); i++) {	    SIRStream child = sj.get(i);	    List params = sj.getParams(i);	    if (child.needsInit()) {		if (init==null) {		    StreamItDot.printGraph(sj, "debug.dot");		    StreamItDot.printGraph(sj.getParent(), "debug2.dot");		}		init.addStatement(new JExpressionStatement(null,							   new JMethodCallExpression(null, 										     new JThisExpression(null),										     child.getInit().getName(),										     (JExpression[])params.toArray(new JExpression[0])),							   null));	    }	}        return init;    }