public Result check(Descriptor descriptor) { this.descriptor = descriptor; result = getInitializedResult(); compName = getVerifierContext().getComponentNameConstructor(); ClassLoader cl = getVerifierContext().getClassLoader(); List<InjectionCapable> injectables = getInjectables(getClassName()); for (InjectionCapable injectionCapable : injectables) { Set<InjectionTarget> iTargets = injectionCapable.getInjectionTargets(); for (InjectionTarget target : iTargets) { try { if (target.isFieldInjectable()) { Class classObj = Class.forName(getClassName(), false, cl); Field field = classObj.getDeclaredField(target.getFieldName()); testMethodModifiers(field.getModifiers(), "field", field); } if (target.isMethodInjectable()) { Class classObj = Class.forName(getClassName(), false, cl); Method method = getInjectedMethod(classObj, target.getMethodName()); if (method == null) continue; testMethodModifiers(method.getModifiers(), "method", method); } } catch (Exception e) { } // ignore as it will be caught in other tests } } if (result.getStatus() != Result.FAILED) { addGoodDetails(result, compName); result.passed( smh.getLocalString(getClass().getName() + ".passed", "Valid injection method(s).")); } return result; }