static Set nonStaticNonTransientFields_withoutSuperclasses(O o) { new TreeSet fields; Class _c = _getClass(o); if (_c != null) for (Field f : _c.getDeclaredFields()) if ((f.getModifiers() & (Modifier.STATIC|Modifier.TRANSIENT)) == 0) fields.add(f.getName()); ret fields; }