code: public void invokeTaglib(final IJRubyContext rcon, JellyContext context, XMLOutput output, String uri, String localName, Map<RubySymbol,?> attributes, final RubyProc proc) throws JellyException {
          TagScript tagScript = createTagScript(context, uri, localName);
  
          if (attributes!=null) {
              for (Entry<RubySymbol, ?> e : attributes.entrySet()) {
                  tagScript.addAttribute(e.getKey().asJavaString(), new ConstantExpression(e.getValue()));
              }
          }
          
          if (proc!=null) {
              final Ruby runtime = ((IRubyObject)rcon).getRuntime();
  
              tagScript.setTagBody(new Script() {
                  public Script compile() throws JellyException {
                      return this;
                  }
  
                  public void run(JellyContext context, XMLOutput output) throws JellyTagException {
                      JellyContext oc = rcon.getJellyContext();
                      XMLOutput oo = rcon.getOutput();
                      try {
                          rcon.setJellyContext(context);
                          rcon.setOutput(output);
                          proc.getBlock().yield(runtime.getCurrentContext(),null);
                      } finally {
                          rcon.setJellyContext(oc);
                          rcon.setOutput(oo);
                      }
                  }
              });
          }
          tagScript.run(context, output);
      }
docs: Invokes other Jelly tag libraries.