SortedMap<String, CodableFieldInfo> buildClassData = new TreeMap<>();
for (Field field : fields) {
int mod = field.getModifiers();
boolean store = ((mod & Modifier.FINAL) == 0) && ((mod & Modifier.PUBLIC) != 0);
// extract annotations
FieldConfig fieldConfigPolicy = field.getAnnotation(FieldConfig.class);
if (fieldConfigPolicy != null) {
field.setAccessible(true);
store |= fieldConfigPolicy.codable();
}
// field must be public and non-final or annotated with a store policy
if (!store) {
continue;
}