for (Field f : c.getDeclaredFields()) { if (Modifier.isTransient(f.getModifiers())) continue; list.add(f); }
do { for (Field f : c.getDeclaredFields()) { if (Modifier.isTransient(f.getModifiers())) continue; list.add(f); } } while (null != (c= c.getSuperclass()));
    private static ArrayList<Field> classFields(Class c) {        ArrayList<Field> list= new ArrayList<Field>();                for (Field f : c.getDeclaredFields()) {            if (Modifier.isTransient(f.getModifiers())) continue;            list.add(f);        }                return list;    }