Class<?>[] instancePTs = classMethod.getParameterTypes();
Annotation[][] instanceAnnos = classMethod.getParameterAnnotations();
Class<?>[] staticPTs = new Class<?>[instancePTs.length + 1];
staticPTs[0] = getUnboxedType(clazz, clazz.getAnnotation(TypeInfo.class));
for (int i = 0; i < instancePTs.length; i++) {
TypeInfo typeInfo = findAnnotation(instanceAnnos[i], TypeInfo.class);
staticPTs[i + 1] = getUnboxedType(instancePTs[i], typeInfo);
}
try {
return clazz.getMethod(classMethod.getName(), staticPTs);
} catch (NoSuchMethodException|SecurityException e) {