为什么cglib代理类调用intercept方法的时候会陷入死循环导致内存溢出?

问题遇到的现象和发生背景

当我在自定义代理类是陷入了死循环

操作环境、软件版本等信息

//设置绑定关系
public Object newProxyInstance(Object targetObject) {
this.targetObject = targetObject;

    Enhancer enhancer = new Enhancer();
    //设置代理类的父类(目标类)
    enhancer.setSuperclass(this.targetObject.getClass());
    //设置回调函数
    enhancer.setCallback(this);
    //创建子类(代理类)
    return enhancer.create();
}

@Override
public Object intercept(Object o, Method method, Object[] objects, MethodProxy methodProxy) throws Throwable {

    Object result = null;

    try {
        System.out.println("通过Cglib动态代理" + method.getName() + "打印日志 begin");

        result = method.invoke(o, objects);

        System.out.println("通过Cglib动态代理" + method.getName() + "打印日志 end");
    } catch (Throwable e) {
        e.printStackTrace();
    }

    return result;
}
尝试过的解决方法
我想要达到的结果

假设现在你有个a方法,生成代理对象后,调用代理对象的a方法,此时进入拦截类里面,然后你又通过反射去调用代理类的a方法,套娃形成,
你不是自己丢进来targetObject了嘛,o换成targetObject,就不套娃了