This AIOOBE happens because AnnotatedCallableComparator only checks argX.getParameters() and doesn't check argX.getJavaMember().getParameterTypes().
Since the two don't always contain the same number of elements (at least in case of Enums - see BackedAnnotatedConstructor:78), the comparator should check the length of the array returned by getParameterTypes() before iterating over them.
This AIOOBE happens because AnnotatedCallableComparator only checks argX.getParameters() and doesn't check argX.getJavaMember().getParameterTypes().
Since the two don't always contain the same number of elements (at least in case of Enums - see BackedAnnotatedConstructor:78), the comparator should check the length of the array returned by getParameterTypes() before iterating over them.