@Override
        protected void render() throws IOException, InterruptedException, ExecutionException {
            if (dataListListenerStack.peekFirst() != this)
                return; // This listens to some ancestor of the current list, do this later
            if (beforeHandoverMode &&  ! list.isFrozen())
                return; // Called on completion of a list which is not frozen yet - hold off until frozen

            if ( ! beforeHandoverMode)
                list.completeFuture().get(); // trigger completion if not done already to invoke any listeners on that event
            boolean startedRendering = renderData();
            if ( ! startedRendering || uncompletedChildren > 0) return; // children must render to completion first
            if (list.completeFuture().isDone()) // might not be when in before handover mode
                endListLevel();
            else
                stream.flush();
        }
The listener to the parent of this list, or null if this is the root
container-core/src/main/java/com/yahoo/processing/rendering/AsynchronousSectionedRenderer.java