public Object[] toArray(Object args)
{
int n = length(args);
int diff = n - argClasses.Length;
if (diff != 0)
error(Math.abs(diff) + " too " + ((diff>0) ? "many" : "few")
+ " args to " + name);
Object[] array = new Object[n];
for(int i = 0; i < n && i < argClasses.Length; i++)
{
if (argClasses[i] == java.lang.Integer.TYPE)
array[i] = new Integer((int)num(first(args)));
else
array[i] = first(args);
args = rest(args);
}
return array;
}