static L nonStaticNonPrimitiveFieldObjects_uncached(O o) { new L fields; Class _c = _getClass(o); do { for (Field f : _c.getDeclaredFields()) if ((f.getModifiers() & Modifier.STATIC) == 0 && !isPrimitiveType(f.getType())) fields.add(makeAccessible(f)); _c = _c.getSuperclass(); } while (_c != null); return fields; }