public IBytecodeField getField(BytecodeResolutionPool pool, String name) {
try {
Field field = clazz.getDeclaredField(name);
return new BytecodeFieldDeclared(pool, this, field);
} catch (SecurityException e) {
throw new BytecodeException("Could not access field: " + name, e);
} catch (NoSuchFieldException e) {
if (this.superType != null) {
return this.getSuperType().getField(pool, name);
} else {
throw new RuntimeException(e);