/** Walk up the inheritance hierarchy recursively, reading in fields */
private void processClassWithByteCode( final Class< ? > clazz,
final InputStream stream,
final boolean includeFinalMethods ) throws IOException {
final ClassReader reader = new ClassReader( stream );
final ClassFieldVisitor visitor = new ClassFieldVisitor( clazz,
includeFinalMethods,
this );
reader.accept( visitor,
0 );
if ( clazz.getSuperclass() != null ) {
final String name = getResourcePath( clazz.getSuperclass() );
final InputStream parentStream = clazz.getResourceAsStream( name );
if ( parentStream != null ) {