for (int i = 2; i < length; ++i) {
newContext.addStatement(ecp[i].getContextBlock());
}
// Build the statement to create a new partial application node.
JavaExpression args[] = new JavaExpression[length];
JavaTypeName argTypes[] = new JavaTypeName[length];
Arrays.fill(argTypes, JavaTypeNames.RTVALUE);
args[0] = expressionVarToJavaDef(chain[0].asVar(), Scheme.E_SCHEME, variableContext);
argTypes[0] = JavaTypeNames.RTSUPERCOMBINATOR;
for (int i = 1; i < length; ++i) {
args[i] = ecp[i].getJavaExpression();
}
JavaExpression cci =
new ClassInstanceCreationExpression(nodeClassName, args, argTypes);
return new ExpressionContextPair(cci, newContext);
}