code: @Override
      public final void visitOpenDynamic(){
          if (!isDynamic)
              throw new IllegalStateException("Wrong use of dynamic() in a static view!");
  
          openDynamic = true;
          if (isCached){
              HtmlVisitorStringBuilder.HtmlBlockInfo block = cacheBlocksList.get(cacheIndex);
              this.write(block.html);
              this.depth = block.currentDepth;
              this.isClosed = block.isClosed;
              ++cacheIndex;
          } else {
              String staticBlock = substring(staticBlockIndex);
              cacheBlocksList.add(new HtmlVisitorStringBuilder.HtmlBlockInfo(staticBlock, depth, isClosed));
          }
      }
docs: Copies from or to cacheBlocksList depending on whether the content is in cache or not.
  Copying from cacheBlocksList will write through write() method.
  Copying to cacheBlocksList will read from substring().