private static void createSendCode(int iteration, FilterTraceNode node, Trace parent,
private static int createSendCode(int iteration, FilterTraceNode node, Trace parent,
    private static void createSendCode(int iteration, FilterTraceNode node, Trace parent, 				       FilterInfo filterInfo, boolean init, boolean primePump, 				       RawTile tile, RawChip rawChip)     {	//get the items needed to fire and multiply it by the type 	//size	int items = filterInfo.itemsFiring(iteration, init) * 	    Util.getTypeSize(node.getFilter().getOutputType());		if (items == 0)	    return;	ComputeNode destNode = null;		if (node.getNext().isFilterTrace())	    destNode = rawChip.getTile(((FilterTraceNode)node.getNext()).getX(), 				       ((FilterTraceNode)node.getNext()).getY());	else {	    if (KjcOptions.magicdram && node.getNext() != null &&		node.getNext().isOutputTrace() && tile.hasIODevice())		destNode = tile.getIODevice();	    else {		destNode = 		    IntraTraceBuffer.getBuffer(node, (OutputTraceNode)node.getNext()).		    getNonRedundant().getDRAM();	    }	    	}		for (int j = 0; j < items; j++) {	    RouteIns ins = new RouteIns(tile);	    //add the route from this tile to the next trace node	    ins.addRoute(tile, destNode);	    //append the instruction	    //for the primepump append to the end of the init stage	    //so set final arg to true if init or primepump	    tile.getSwitchCode().appendIns(ins, (init||primePump));	    //if we are connected to an output trace node and 	    //magicdram is enabled, create the magic dram store instuction	    if (KjcOptions.magicdram && node.getNext() != null &&		node.getNext().isOutputTrace())		createMagicDramStore((OutputTraceNode)node.getNext(), 				     node, (init || primePump), rawChip);	}	    }