// Ensure field is accessible
if (!field.isAccessible()) {
field.setAccessible(true);
}
final JavaSymbolName attributeName = new JavaSymbolName(
attribute);
// Store the info
fields.add(field);
attributeNameForEachField.put(field, attributeName);
}
cachedIntrospections.put(target.getClass(), fields);
}
for (final Field field : fields) {
// Lookup whether this attribute name was provided
final JavaSymbolName attributeName = attributeNameForEachField
.get(field);
if (attributeName == null) {
throw new IllegalStateException(
"Expected cached attribute name lookup");
}