code: protected PortletRenderResult doRenderReplayCachedContent(
              IPortletWindow portletWindow,
              HttpServletRequest httpServletRequest,
              CacheState<CachedPortletData<PortletRenderResult>, PortletRenderResult> cacheState,
              PortletOutputHandler portletOutputHandler,
              RenderPart renderPart,
              long baseExecutionTime)
              throws IOException {
  
          enforceConfigPermission(httpServletRequest, portletWindow);
  
          logger.debug(
                  "Replaying cached content for Render {} request to {}", renderPart, portletWindow);
  
          final long renderStartTime = System.nanoTime();
  
          final CachedPortletData<PortletRenderResult> cachedPortletData =
                  cacheState.getCachedPortletData();
          cachedPortletData.replay(portletOutputHandler);
  
          final long executionTime = baseExecutionTime + (System.nanoTime() - renderStartTime);
  
          publishRenderEvent(portletWindow, httpServletRequest, renderPart, executionTime, true);
  
          final PortletRenderResult portletResult = cachedPortletData.getPortletResult();
          return new PortletRenderResult(portletResult, executionTime);
      }
docs: Replay the cached content inside the {@link CachedPortletData} as the response to a doRender.