if (remaining[0] > 0) {  JVariableDefinition loopCounterBackup = GenerateCCode.newIntLocal(BACKUPCOUNTER, myUniqueID, 0);  enclosingBlock.addStatementFirst(new JVariableDeclarationStatement (null, loopCounterBackup, null));   statements.addStatement (remainingBackupLoop(bufferVar[0], loopCounterBackup, StrToRStream.getMult(node, isInit) * distinctRoundItems(), remaining[0])); }
    public JStatement[] getWork(JBlock enclosingBlock, boolean isInit)     {	JBlock statements = new JBlock(null, new JStatement[0], null);		int mult = StrToRStream.getMult(getNode(), isInit);	if (mult == 0)	    return statements.getStatementArray();		//add the buffer declaration	if (getBufferVar(null, isInit) != null)	    enclosingBlock.addStatementFirst		(new JVariableDeclarationStatement(null, 						   getBufferVar(null, isInit),						   null));		//add the block to do the data reordering	if (node.isDuplicateSplitter()) {	    enclosingBlock.addStatement(getDuplicateCode(enclosingBlock, mult, isInit));	}	else {	    enclosingBlock.addStatement(getRRCode(enclosingBlock, mult, isInit));	}		return statements.getStatementArray();    }