abstract public Object afterReturn(Object obj, Method method, Object[] args, boolean invokedSuper, Object retValFromSuper, Throwable e) throws Throwable;
Object afterReturn(Object obj, Method method, Object[] args, boolean invokedSuper, Object retValFromSuper, Throwable e) throws Throwable;
    abstract public Object afterReturn(Object obj, Method method, Object[] args,                                       boolean invokedSuper, Object retValFromSuper,                                       Throwable e) throws Throwable;