@Override
public void visitField(Field field, ComponentType type) throws ConfigurationLoadException {
checkAutowireType(field.getType(),field.getDeclaringClass());
int modifiers = field.getModifiers();
Autowire annotation = field.getAnnotation(Autowire.class);
if (annotation != null) {
if (!Modifier.isPublic(modifiers) && !Modifier.isProtected(modifiers)) {
InvalidSetterException e = new InvalidSetterException("Autowire field is not public or protected");
e.setIdentifier(field.getName());
throw e;