if (Layout.joiners.contains(node) && !KjcOptions.decoupled) {
if (Layout.getJoiners().contains(node) && !KjcOptions.decoupled) {
    public void visitNode(FlatNode node)     {	//this is a mapped joiner, we do not want to generate code for	//joiners in the decoupled case	if (Layout.joiners.contains(node) && !KjcOptions.decoupled) {	    realTiles.add(Layout.getTile(node.contents));	    joinerCode(node);	    //After done with node drops its contents for garbage collection	    //node.contents=null;	    //node.edges=null;	    //for(int i=0;i<node.incoming.length;i++) {	    //node.incoming[i].contents=null;	    //}	    //node.incoming=null;	}	if (node.contents instanceof SIRFilter) {	    //do not generate code for the file manipulators	    if (FileVisitor.fileNodes.contains(node))		return;	    if (!Layout.isAssigned(node))		return;	    realTiles.add(Layout.getTile(node.contents));	    FlatIRToC.generateCode(node);	    //After done with node drops its contents for garbage collection	    //Need to keep contents for filter type checking but dropping methods	    ((SIRFilter)node.contents).setMethods(JMethodDeclaration.EMPTY());	}    }