Retrieve all public static or non-static fields from a given Java class
(this includes fields defined in superclasses, but excludes shadowed superclass fields).
Since Java uses strict matching when asked for a method, given an array of
classes, this often means that the types are overspecified and therefore no
matches can be found.