getTarget(); return null; if (!method.getDeclaringClass().isInstance(getTarget())) { throw new ClassCastException(getTarget().getClass().getName()); returnValue = method.invoke(getTarget(), args); } else { if (!method.isAccessible()) { method.setAccessible(true); returnValue = method.invoke(getTarget(), args); return returnValue == getTarget() ? proxy : returnValue;
getTarget(); return null; if (!method.getDeclaringClass().isInstance(getTarget())) { throw new ClassCastException(getTarget().getClass().getName()); returnValue = method.invoke(getTarget(), args); } else { if (!method.isAccessible()) { method.setAccessible(true); returnValue = method.invoke(getTarget(), args); return returnValue == getTarget() ? proxy : returnValue;