public void inject(Object target) throws RuntimeException {
try {
Class<?> clazz = target.getClass();
if (ClassReflection.isAnnotationPresent(clazz, Wire.class)) {
Wire wire = ClassReflection.getAnnotation(clazz, Wire.class);
if (wire != null) {
injectValidFields(target, clazz, wire.failOnNull(), wire.injectInherited());
}
} else {
injectAnnotatedFields(target, clazz);
}
} catch (ReflectionException e) {