for (int i = 0; i < node.inputs; i++) { main.addStatementFirst(new JVariableDeclarationStatement(null, bufferVar[i], null)); }  if (isFBJoiner) { SIRFeedbackLoop loop = (SIRFeedbackLoop)joiner.getParent(); int delay = loop.getDelayInt();   if (delay < 1) return;         JVariableDefinition loopBackBuf = bufferVar[1];   assert loopBackBuf != null;   functions.add(loop.getInitPath());  JMethodDeclaration initPath = loop.getInitPath();  JVariableDefinition index = GenerateCCode.newIntLocal(INIT_PATH_INDEX, uniqueID, 0);  initFunctionCalls.addStatementFirst(new JVariableDeclarationStatement(null, index, null));   JExpression[] args = {new JLocalVariableExpression(null, index)};   JExpression rhs = new JMethodCallExpression(null, new JThisExpression(null), initPath.getName(), args); JExpression lhs = new JArrayAccessExpression(null, new JLocalVariableExpression(null, loopBackBuf), new JLocalVariableExpression(null, index));  JAssignmentExpression assign = new JAssignmentExpression(null, lhs, rhs); initFunctionCalls.addStatement (GenerateCCode.makeDoLoop(new JExpressionStatement(null, assign, null), index, new JIntLiteral(delay))); }
    public void initTasks(Vector fields, Vector functions,			  JBlock initFunctionCalls, JBlock main)     {	    }