private static void setOptional( ArgumentsList arguments, Annotation[][] parametersAnnotations, Type[] parametersTypes) { boolean optional = false; int nRequiredParameters = parametersAnnotations.length; for (int i = 0; i != parametersAnnotations.length; ++i) { if (!optional) { if (isOptional(parametersAnnotations[i])) { nRequiredParameters = i; optional = true; } } arguments.add(optional, parametersTypes[i]); } arguments.setRequiredSize(nRequiredParameters); }