assert ((argcount == NOT_SET) || (argcount == pt.length - 1)) : ("coding error: the argument count must match the number of setter arguments");
// We've taken care of lists and value objects, from here on out, it must match the parameter list.
argcount = pt.length - 1;
DefaultArgumentValue defaultArgValuesAnno = setter.getAnnotation(DefaultArgumentValue.class);
if (defaultArgValuesAnno != null)
defaultArgValues = defaultArgValuesAnno.value();
argtypes = new Class[pt.length - 1];
for (int i = 1; i < pt.length; ++i)
{
assert (ConfigurationBuffer.isSupportedSimpleType(pt[i])) : ("coding error: " + setter.getClass().getName() + "." + setter.getName() + " parameter " + i + " is not a supported type!");