int stage = 0; if (!init && !primepump) stage = 3;
boolean stage = init || primepump;
    private static void generateInputFilterDRAMCommand(FilterTraceNode filterNode,             boolean init, boolean primepump) {        // only generate a DRAM command for filters connected to input or output        // trace nodes        if (filterNode.getPrevious() != null            && filterNode.getPrevious().isInputTrace()) {            //get the buffer, and use it to decide which network to use            OffChipBuffer buffer =                 IntraTraceBuffer.getBuffer((InputTraceNode) filterNode.getPrevious(),                         filterNode);                        // get this buffer or this first upstream non-redundant buffer            // use this for for the address of the buffer we are transfering from            OffChipBuffer nonRedBuffer = buffer.getNonRedundant();            if (nonRedBuffer == null)                return;            // get the number of items received            int items =                 FilterInfo.getFilterInfo(filterNode).totalItemsReceived(init, primepump);            // return if there is nothing to receive            if (items == 0)                return;            int stage = 0;            if (!init && !primepump)                stage = 3;            // the transfer size rounded up to by divisible by a cacheline            int words = (items * Util.getTypeSize(filterNode.getFilter()                                                  .getInputType()));            if (((InputTraceNode)filterNode.getPrevious()).onlyFileInput())                nonRedBuffer.getOwner().getComputeCode().addFileCommand(true, init || primepump,                        words, nonRedBuffer, buffer.isStaticNet());            else                nonRedBuffer.getOwner().getComputeCode().addDRAMCommand(true, stage,                        Util.cacheLineDiv(words * 4),                         nonRedBuffer, true, buffer.isStaticNet());        }    }