if (useTransients || !Modifier.isTransient(f.getModifiers())) { if (!Modifier.isStatic(f.getModifiers())) { try { builder.append(f.get(lhs), f.get(rhs)); } catch (IllegalAccessException e) {   }
if ((f.getName().indexOf('$') == -1) && (useTransients || !Modifier.isTransient(f.getModifiers())) && (!Modifier.isStatic(f.getModifiers()))) { try { builder.append(f.get(lhs), f.get(rhs)); } catch (IllegalAccessException e) {   throw new InternalError("Unexpected IllegalAccessException");
    private static void reflectionAppend(Object lhs, Object rhs, Class clazz, CompareToBuilder builder, boolean useTransients) {        Field[] fields = clazz.getDeclaredFields();        Field.setAccessible(fields, true);        for (int i = 0; i < fields.length && builder.comparison == 0; i++) {            Field f = fields[i];            if (useTransients || !Modifier.isTransient(f.getModifiers())) {                if (!Modifier.isStatic(f.getModifiers())) {                    try {                        builder.append(f.get(lhs), f.get(rhs));                    } catch (IllegalAccessException e) {                        //this can't happen. Would get a Security exception instead                        //throw a runtime exception in case the impossible happens.                    }                }            }        }    }