@Override public void visit(Object instance, TypeToken<?> inspectType, TypeToken<?> declareType, Field field) throws Exception { if (field.isAnnotationPresent(Property.class)) { String key = declareType.getRawType().getName() + '.' + field.getName(); String value = properties.get(key); if (value == null) { return; } setValue(instance, field, value); } }