private Object[] CheckArguments(Object[] args){
Object[] newArgs = args;
if (args != null && args.Length < this.pars.Length){
newArgs = new Object[this.pars.Length];
ArrayObject.Copy(args, newArgs, args.Length);
for (int i = args.Length, size = this.pars.Length; i < size; i++)
newArgs[i] = System.Type.Missing; // this will take care of the default value
}
return newArgs;
}