private boolean isCompatible(Method candidate, String featureName, Object... args) { if (!candidate.getName().equals(featureName)) return false; if (candidate.getParameterTypes().length != args.length) return false; for (int i = 0; i< candidate.getParameterTypes().length; i++) { Object param = args[i]; Class<?> class1 = candidate.getParameterTypes()[i]; if (class1.isPrimitive()) class1 = wrapperTypeFor(class1); if (param != null && !class1.isInstance(param)) return false; } return true; }
private boolean isCompatible(Method candidate, String featureName, Object... args) { if (!candidate.getName().equals(featureName)) return false; if (candidate.getParameterTypes().length != args.length) return false; for (int i = 0; i< candidate.getParameterTypes().length; i++) { Object param = args[i]; Class<?> class1 = candidate.getParameterTypes()[i]; if (class1.isPrimitive()) class1 = wrapperTypeFor(class1); if (param != null && !class1.isInstance(param)) return false; } return true; }