private static void evaluateResourceClass(ClassResourceInfo cri, boolean enableStatic) {
MethodDispatcher md = new MethodDispatcher();
Class<?> serviceClass = cri.getServiceClass();
final Set<Method> annotatedMethods = new HashSet<>();
for (Method m : serviceClass.getMethods()) {
if (!m.isBridge() && !m.isSynthetic()) {
Method annotatedMethod = AnnotationUtils.getAnnotatedMethod(serviceClass, m);
if (!annotatedMethods.contains(annotatedMethod)) {
evaluateResourceMethod(cri, enableStatic, md, m, annotatedMethod);
annotatedMethods.add(annotatedMethod);
}
}
}
for (Method m : serviceClass.getMethods()) {
if (m.isBridge() || m.isSynthetic()) {
Method annotatedMethod = AnnotationUtils.getAnnotatedMethod(serviceClass, m);
if (!annotatedMethods.contains(annotatedMethod)) {
evaluateResourceMethod(cri, enableStatic, md, m, annotatedMethod);
annotatedMethods.add(annotatedMethod);
}
}
}
cri.setMethodDispatcher(md);
}