return f1.invoke(i1, obj, args);
try { return f1.invoke(i1, obj, args); } catch (InvocationTargetException e) { throw e.getTargetException(); }
    public Object invoke(Object obj, Object[] args) throws Throwable {        if (i1 == -1) {            throw new IllegalAccessException("Protected method: " + m1);        } else {            return f1.invoke(i1, obj, args);        }    }