class RunnerDataCache {
    private IOperateDataCache cache;

    private final Stack<ExpressRunner> stack = new Stack<>();

    public void push(ExpressRunner expressRunner) {
        this.cache = expressRunner.getOperateDataCache();
        this.stack.push(expressRunner);
    }

    public void pop() {<FILL_FUNCTION_BODY>}

    public IOperateDataCache getCache() {
        return cache;
    }
}

        //原有的逻辑
        //this.cache = this.stack.pop().getOperateDataCache();

        //bugfix处理ExpressRunner嵌套情况下，cache还原的问题
        this.stack.pop();
        if (!this.stack.isEmpty()) {
            this.cache = this.stack.peek().getOperateDataCache();
        } else {
            this.cache = null;
        }
    
<no_super_class>