Node argsNode = node.getArgsNode();
if (argsNode != null) {
if (argsNode.nodeId == NodeType.STARNODE) {
// no check for '*'
} else if (varLen < valueLen) {
argsNode.assign(runtime, context, self, value.subseqLight(varLen, valueLen), Block.NULL_BLOCK, checkArity);
} else {
argsNode.assign(runtime, context, self, RubyArray.newArrayLight(runtime, 0), Block.NULL_BLOCK, checkArity);
}
} else if (checkArity && valueLen < varLen) {
throw runtime.newArgumentError("Wrong # of arguments (" + valueLen + " for " + varLen + ")");