/** * Builds descriptors for direct attributes. */ private static Map<String, AttributeDescriptor> buildAttributeDescriptors( Object initializedInstance, BindableMetadata bindableMetadata) { final Class<?> clazz = initializedInstance.getClass(); final Map<String, AttributeDescriptor> result = Maps.newLinkedHashMap(); final Collection<Field> fieldsFromBindableHierarchy = BindableUtils .getFieldsFromBindableHierarchy(clazz); for (final Field field : fieldsFromBindableHierarchy) { if (field.getAnnotation(Attribute.class) != null) { result.put(BindableUtils.getKey(field), buildAttributeDescriptor( initializedInstance, field, bindableMetadata)); } } return result; }