ISourcePosition position = position(receiver, blockPass);
String name = (String) operation.getValue();
Node args = blockPass.getArgsNode();
if (args == null) return new CallNoArgBlockPassNode(position, receiver, name, args, blockPass);
if (!(args instanceof ArrayNode)) return new CallSpecialArgBlockPassNode(position, receiver, name, args, blockPass);
switch (((ArrayNode) args).size()) {
case 0: // foo()
return new CallNoArgBlockPassNode(position, receiver, name, args, blockPass);
case 1: