static L allFieldObjects(O o) { new L fields; Class _c = _getClass(o); do { for (Field f : _c.getDeclaredFields()) { f.setAccessible(true); fields.add(f); } _c = _c.getSuperclass(); } while (_c != null); return fields; }