switch (((ArrayNode) args).size()) {
case 0: // foo()
return new FCallNoArgBlockPassNode(position, name, args, blockPass);
case 1:
return new FCallOneArgBlockPassNode(position, name, (ArrayNode) args, blockPass);
case 2:
return new FCallTwoArgBlockPassNode(position, name, (ArrayNode) args, blockPass);
case 3:
return new FCallThreeArgBlockPassNode(position, name, (ArrayNode) args, blockPass);
default: