// Ensure field is of type I18n
if (fld.getType() == I18n.class) {
// Ensure field is public
if ((fld.getModifiers() & Modifier.PUBLIC) != Modifier.PUBLIC) {
throw new SystemFailureException(CommonI18n.i18nFieldNotPublic.text(fld.getName(), i18nClass));
}
// Ensure field is static
if ((fld.getModifiers() & Modifier.STATIC) != Modifier.STATIC) {
throw new SystemFailureException(CommonI18n.i18nFieldNotStatic.text(fld.getName(), i18nClass));
}
// Ensure field is not final
if ((fld.getModifiers() & Modifier.FINAL) == Modifier.FINAL) {
throw new SystemFailureException(CommonI18n.i18nFieldFinal.text(fld.getName(), i18nClass));
}
// Ensure we can access field even if it's in a private class
ClassUtil.makeAccessible(fld);