code: static AppendableAndOptions applyStreamingPrintDirectives(
        List<PrintDirectiveNode> directives,
        Expression appendable,
        BasicExpressionCompiler basic,
        JbcSrcPluginContext renderContext,
        TemplateVariableManager variables) {
      List<DirectiveWithArgs> directivesToApply = new ArrayList<>();
      for (PrintDirectiveNode directive : directives) {
        directivesToApply.add(
            DirectiveWithArgs.create(
                (SoyJbcSrcPrintDirective.Streamable) directive.getPrintDirective(),
                basic.compileToList(directive.getArgs())));
      }
      return applyStreamingPrintDirectivesTo(directivesToApply, appendable, renderContext, variables);
    }
docs: Applies all the streaming print directives to the appendable.
  
  @param directives The directives. All are required to be {@link
  com.google.template.soy.jbcsrc.restricted.SoyJbcSrcPrintDirective.Streamable streamable}
  @param appendable The appendable to wrap
  @param basic The expression compiler to use for compiling the arguments
  @param renderContext The render context for the plugins
  @param variables The local variable manager
  @return The wrapped appendable