simulate aop with cglib proxy