<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body>
    <font size="4"><font face="monospace">I'd like some time to think
        about this; this was one of the trickiest corners of the API to
        design.  Its quite possible there's an inconsistency or vestige,
        but also possible something subtle is going on.  <br>
        <br>
        Can we put this on the RFE list as well?<br>
      </font></font><br>
    <div class="moz-cite-prefix">On 3/7/2023 5:09 AM, Adam Sotona wrote:<br>
    </div>
    <blockquote type="cite" cite="mid:CY4PR1001MB2150597599A4AB7E76C60ABD8CB79@CY4PR1001MB2150.namprd10.prod.outlook.com">
      
      <meta name="Generator" content="Microsoft Word 15 (filtered
        medium)">
      <style>@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:"Courier New";
        mso-fareast-language:EN-GB;}span.comment
        {mso-style-name:comment;}span.st0
        {mso-style-name:st0;}span.st1
        {mso-style-name:st1;}span.literal
        {mso-style-name:literal;}.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}div.WordSection1
        {page:WordSection1;}</style>
      <div class="WordSection1">
        <p class="MsoNormal"><span lang="EN-US">Hi,<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">During the Classfile API
            reviews there have been raised concerns about
            `CodeBuilder::transforming` method, for details see:<o:p></o:p></span></p>
        <p class="MsoNormal"><a href="https://github.com/openjdk/jdk/pull/10982/files/074dd30401a68638a24c157595caeb96b3511614#r1123858513" moz-do-not-send="true" class="moz-txt-link-freetext">https://github.com/openjdk/jdk/pull/10982/files/074dd30401a68638a24c157595caeb96b3511614#r1123858513</a></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal"><span lang="EN-US">I would like to
            (re-)open this discussion here to find the best suitable
            form of the following method:<o:p></o:p></span></p>
        <pre style="background:white"><span style="color:black">    </span><span class="comment"><span style="color:#969696">/**</span></span><span style="color:black"><o:p></o:p></span></pre>
        <pre style="background:white"><span class="comment"><span style="color:#969696">     * </span></span><span class="st0"><b><span style="color:#969696">Apply</span></b></span><span style="color:black"> </span><span class="st0"><b><span style="color:#969696">a</span></b></span><span style="color:black"> </span><span class="st0"><b><span style="color:#969696">transform</span></b></span><span style="color:black"> </span><span class="st0"><b><span style="color:#969696">to</span></b></span><span style="color:black"> </span><span class="st0"><b><span style="color:#969696">the</span></b></span><span style="color:black"> </span><span class="st0"><b><span style="color:#969696">code</span></b></span><span style="color:black"> </span><span class="st0"><b><span style="color:#969696">built</span></b></span><span style="color:black"> </span><span class="st0"><b><span style="color:#969696">by</span></b></span><span style="color:black"> </span><span class="st0"><b><span style="color:#969696">a</span></b></span><span style="color:black"> </span><span class="st0"><b><span style="color:#969696">handler, directing</span></b></span><span style="color:black"> </span><span class="st0"><b><span style="color:#969696">results</span></b></span><span style="color:black"> </span><span class="st0"><b><span style="color:#969696">to</span></b></span><span style="color:black"> </span><span class="st0"><b><span style="color:#969696">this</span></b></span><span style="color:black"> </span><span class="st0"><b><span style="color:#969696">builder.</span></b></span><span style="color:black"><o:p></o:p></span></pre>
        <pre style="background:white"><span class="comment"><span style="color:#969696">     *</span></span><span style="color:black"><o:p></o:p></span></pre>
        <pre style="background:white"><span class="comment"><span style="color:#969696">     * </span></span><span class="st0"><b><span style="color:#969696">@param</span></b></span><span style="color:black"> transform </span><span class="comment"><span style="color:#969696">the</span></span><span style="color:black"> </span><span class="comment"><span style="color:#969696">transform</span></span><span style="color:black"> </span><span class="comment"><span style="color:#969696">to</span></span><span style="color:black"> </span><span class="comment"><span style="color:#969696">apply</span></span><span style="color:black"> </span><span class="comment"><span style="color:#969696">to</span></span><span style="color:black"> </span><span class="comment"><span style="color:#969696">the</span></span><span style="color:black"> </span><span class="comment"><span style="color:#969696">code</span></span><span style="color:black"> </span><span class="comment"><span style="color:#969696">built</span></span><span style="color:black"> </span><span class="comment"><span style="color:#969696">by</span></span><span style="color:black"> </span><span class="comment"><span style="color:#969696">the</span></span><span style="color:black"> </span><span class="comment"><span style="color:#969696">handler</span></span><span style="color:black"><o:p></o:p></span></pre>
        <pre style="background:white"><span class="comment"><span style="color:#969696">     * </span></span><span class="st0"><b><span style="color:#969696">@param</span></b></span><span style="color:black"> handler </span><span class="comment"><span style="color:#969696">the</span></span><span style="color:black"> </span><span class="comment"><span style="color:#969696">handler</span></span><span style="color:black"> </span><span class="comment"><span style="color:#969696">that</span></span><span style="color:black"> </span><span class="comment"><span style="color:#969696">receives</span></span><span style="color:black"> </span><span class="comment"><span style="color:#969696">a {</span></span><span class="st0"><b><span style="color:#969696">@linkplain</span></b></span><span style="color:black"> </span><span class="comment"><span style="color:#969696">CodeBuilder} to</span></span><span style="color:black"><o:p></o:p></span></pre>
        <pre style="background:white"><span class="comment"><span style="color:#969696">     * build</span></span><span style="color:black"> </span><span class="comment"><span style="color:#969696">the</span></span><span style="color:black"> </span><span class="comment"><span style="color:#969696">code.</span></span><span style="color:black"><o:p></o:p></span></pre>
        <pre style="background:white"><span class="comment"><span style="color:#969696">     * </span></span><span class="st0"><b><span style="color:#969696">@return</span></b></span><span style="color:black"> </span><span class="comment"><span style="color:#969696">this</span></span><span style="color:black"> </span><span class="comment"><span style="color:#969696">builder</span></span><span style="color:black"><o:p></o:p></span></pre>
        <pre style="background:white"><span style="color:black">     </span><span class="comment"><span style="color:#969696">*/</span></span><span style="color:black"><o:p></o:p></span></pre>
        <pre style="background:white"><span style="color:black">    </span><span class="literal"><span style="color:#336BDD">default</span></span><span style="color:black"> CodeBuilder <span class="st1"><b>transforming</b></span>(CodeTransform transform, Consumer<CodeBuilder> handler)<o:p></o:p></span></pre>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">My proposal is to align
            it more with `CodeBuilder::block` method and emphasize more
            the bytecode block than the transformation itself.<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">I propose to change the
            method name and arguments to:<o:p></o:p></span></p>
        <p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">   
          </span><span style="font-size:10.0pt;font-family:"Courier
            New";color:#969696;mso-fareast-language:EN-GB">/**</span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB"><o:p></o:p></span></p>
        <p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Courier
            New";color:#969696;mso-fareast-language:EN-GB">     *
            <b>Add</b></span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">
          </span><b><span style="font-size:10.0pt;font-family:"Courier
              New";color:#969696;mso-fareast-language:EN-GB">a</span></b><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">
          </span><b><span style="font-size:10.0pt;font-family:"Courier
              New";color:#969696;mso-fareast-language:EN-GB">transformed</span></b><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">
          </span><b><span style="font-size:10.0pt;font-family:"Courier
              New";color:#969696;mso-fareast-language:EN-GB">lexical</span></b><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">
          </span><b><span style="font-size:10.0pt;font-family:"Courier
              New";color:#969696;mso-fareast-language:EN-GB">block</span></b><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">
          </span><b><span style="font-size:10.0pt;font-family:"Courier
              New";color:#969696;mso-fareast-language:EN-GB">to</span></b><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">
          </span><b><span style="font-size:10.0pt;font-family:"Courier
              New";color:#969696;mso-fareast-language:EN-GB">the</span></b><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">
          </span><b><span style="font-size:10.0pt;font-family:"Courier
              New";color:#969696;mso-fareast-language:EN-GB">method</span></b><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">
          </span><b><span style="font-size:10.0pt;font-family:"Courier
              New";color:#969696;mso-fareast-language:EN-GB">being</span></b><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">
          </span><b><span style="font-size:10.0pt;font-family:"Courier
              New";color:#969696;mso-fareast-language:EN-GB">built.</span></b><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB"><o:p></o:p></span></p>
        <p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Courier
            New";color:#969696;mso-fareast-language:EN-GB">     *
          </span><b><span style="font-size:10.0pt;font-family:"Courier
              New";color:#9999FF;mso-fareast-language:EN-GB"><p></span></b><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB"><o:p></o:p></span></p>
        <p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Courier
            New";color:#969696;mso-fareast-language:EN-GB">     *
            Within</span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">
          </span><span style="font-size:10.0pt;font-family:"Courier
            New";color:#969696;mso-fareast-language:EN-GB">this</span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">
          </span><span style="font-size:10.0pt;font-family:"Courier
            New";color:#969696;mso-fareast-language:EN-GB">block,
            the {<b>@link</b></span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">
          </span><span style="font-size:10.0pt;font-family:"Courier
            New";color:#969696;mso-fareast-language:EN-GB">#startLabel()}
            and {<b>@link</b></span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">
          </span><span style="font-size:10.0pt;font-family:"Courier
            New";color:#969696;mso-fareast-language:EN-GB">#endLabel()}
            correspond</span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB"><o:p></o:p></span></p>
        <p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Courier
            New";color:#969696;mso-fareast-language:EN-GB">     *
            to</span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">
          </span><span style="font-size:10.0pt;font-family:"Courier
            New";color:#969696;mso-fareast-language:EN-GB">the</span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">
          </span><span style="font-size:10.0pt;font-family:"Courier
            New";color:#969696;mso-fareast-language:EN-GB">start</span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">
          </span><span style="font-size:10.0pt;font-family:"Courier
            New";color:#969696;mso-fareast-language:EN-GB">and</span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">
          </span><span style="font-size:10.0pt;font-family:"Courier
            New";color:#969696;mso-fareast-language:EN-GB">end</span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">
          </span><span style="font-size:10.0pt;font-family:"Courier
            New";color:#969696;mso-fareast-language:EN-GB">of</span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">
          </span><span style="font-size:10.0pt;font-family:"Courier
            New";color:#969696;mso-fareast-language:EN-GB">the</span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">
          </span><span style="font-size:10.0pt;font-family:"Courier
            New";color:#969696;mso-fareast-language:EN-GB">block,
            and</span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">
          </span><span style="font-size:10.0pt;font-family:"Courier
            New";color:#969696;mso-fareast-language:EN-GB">the {<b>@link</b></span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">
          </span><span style="font-size:10.0pt;font-family:"Courier
            New";color:#969696;mso-fareast-language:EN-GB">BlockCodeBuilder#breakLabel()}</span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB"><o:p></o:p></span></p>
        <p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Courier
            New";color:#969696;mso-fareast-language:EN-GB">     *
            also</span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">
          </span><span style="font-size:10.0pt;font-family:"Courier
            New";color:#969696;mso-fareast-language:EN-GB">corresponds</span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">
          </span><span style="font-size:10.0pt;font-family:"Courier
            New";color:#969696;mso-fareast-language:EN-GB">to</span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">
          </span><span style="font-size:10.0pt;font-family:"Courier
            New";color:#969696;mso-fareast-language:EN-GB">the</span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">
          </span><span style="font-size:10.0pt;font-family:"Courier
            New";color:#969696;mso-fareast-language:EN-GB">end</span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">
          </span><span style="font-size:10.0pt;font-family:"Courier
            New";color:#969696;mso-fareast-language:EN-GB">of</span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">
          </span><span style="font-size:10.0pt;font-family:"Courier
            New";color:#969696;mso-fareast-language:EN-GB">the</span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">
          </span><span style="font-size:10.0pt;font-family:"Courier
            New";color:#969696;mso-fareast-language:EN-GB">block.</span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB"><o:p></o:p></span></p>
        <p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Courier
            New";color:#969696;mso-fareast-language:EN-GB">     *</span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB"><o:p></o:p></span></p>
        <p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Courier
            New";color:#969696;mso-fareast-language:EN-GB">     *
            <b>@param</b></span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB"> handler
          </span><span style="font-size:10.0pt;font-family:"Courier
            New";color:#969696;mso-fareast-language:EN-GB">handler</span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">
          </span><span style="font-size:10.0pt;font-family:"Courier
            New";color:#969696;mso-fareast-language:EN-GB">that</span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">
          </span><span style="font-size:10.0pt;font-family:"Courier
            New";color:#969696;mso-fareast-language:EN-GB">receives</span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">
          </span><span style="font-size:10.0pt;font-family:"Courier
            New";color:#969696;mso-fareast-language:EN-GB">a {<b>@linkplain</b></span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">
          </span><span style="font-size:10.0pt;font-family:"Courier
            New";color:#969696;mso-fareast-language:EN-GB">BlockCodeBuilder}
            to</span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB"><o:p></o:p></span></p>
        <p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Courier
            New";color:#969696;mso-fareast-language:EN-GB">     *
            generate</span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">
          </span><span style="font-size:10.0pt;font-family:"Courier
            New";color:#969696;mso-fareast-language:EN-GB">the</span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">
          </span><span style="font-size:10.0pt;font-family:"Courier
            New";color:#969696;mso-fareast-language:EN-GB">body</span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">
          </span><span style="font-size:10.0pt;font-family:"Courier
            New";color:#969696;mso-fareast-language:EN-GB">of</span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">
          </span><span style="font-size:10.0pt;font-family:"Courier
            New";color:#969696;mso-fareast-language:EN-GB">the</span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">
          </span><span style="font-size:10.0pt;font-family:"Courier
            New";color:#969696;mso-fareast-language:EN-GB">lexical</span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">
          </span><span style="font-size:10.0pt;font-family:"Courier
            New";color:#969696;mso-fareast-language:EN-GB">block.</span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB"><o:p></o:p></span></p>
        <p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Courier
            New";color:#969696;mso-fareast-language:EN-GB">     *
            <b>@param</b></span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB"> transform
          </span><span style="font-size:10.0pt;font-family:"Courier
            New";color:#969696;mso-fareast-language:EN-GB">the</span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">
          </span><span style="font-size:10.0pt;font-family:"Courier
            New";color:#969696;mso-fareast-language:EN-GB">transform</span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">
          </span><span style="font-size:10.0pt;font-family:"Courier
            New";color:#969696;mso-fareast-language:EN-GB">to</span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">
          </span><span style="font-size:10.0pt;font-family:"Courier
            New";color:#969696;mso-fareast-language:EN-GB">apply</span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">
          </span><span style="font-size:10.0pt;font-family:"Courier
            New";color:#969696;mso-fareast-language:EN-GB">to</span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">
          </span><span style="font-size:10.0pt;font-family:"Courier
            New";color:#969696;mso-fareast-language:EN-GB">the</span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">
          </span><span style="font-size:10.0pt;font-family:"Courier
            New";color:#969696;mso-fareast-language:EN-GB">lexical</span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">
          </span><span style="font-size:10.0pt;font-family:"Courier
            New";color:#969696;mso-fareast-language:EN-GB">block</span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">
          </span><span style="font-size:10.0pt;font-family:"Courier
            New";color:#969696;mso-fareast-language:EN-GB">generated</span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">
          </span><span style="font-size:10.0pt;font-family:"Courier
            New";color:#969696;mso-fareast-language:EN-GB">by</span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">
          </span><span style="font-size:10.0pt;font-family:"Courier
            New";color:#969696;mso-fareast-language:EN-GB">handler</span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB"><o:p></o:p></span></p>
        <p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Courier
            New";color:#969696;mso-fareast-language:EN-GB">     *
            <b>@return</b></span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">
          </span><span style="font-size:10.0pt;font-family:"Courier
            New";color:#969696;mso-fareast-language:EN-GB">this</span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">
          </span><span style="font-size:10.0pt;font-family:"Courier
            New";color:#969696;mso-fareast-language:EN-GB">builder</span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB"><o:p></o:p></span></p>
        <p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">    
          </span><span style="font-size:10.0pt;font-family:"Courier
            New";color:#969696;mso-fareast-language:EN-GB">*/</span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB"><o:p></o:p></span></p>
        <p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">   
          </span><span style="font-size:10.0pt;font-family:"Courier
            New";color:#336BDD;mso-fareast-language:EN-GB">default</span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">
            CodeBuilder
            <b>transformedBlock</b>(<i>Consumer</i><<i>BlockCodeBuilder</i>>
            handler, <i>CodeTransform</i> transform</span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB" lang="EN-US">)<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">Or alternatively:<o:p></o:p></span></p>
        <p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">   
          </span><span style="font-size:10.0pt;font-family:"Courier
            New";color:#336BDD;mso-fareast-language:EN-GB">default</span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">
            CodeBuilder
            <b>transformBlock</b>(<i>Consumer</i><<i>BlockCodeBuilder</i>>
            handler, <i>CodeTransform</i> transform</span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB" lang="EN-US">)<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">or:<o:p></o:p></span></p>
        <p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">   
          </span><span style="font-size:10.0pt;font-family:"Courier
            New";color:#336BDD;mso-fareast-language:EN-GB">default</span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">
            CodeBuilder
            <b>transform</b></span><b><span style="font-size:10.0pt;font-family:"Courier
              New";color:black;mso-fareast-language:EN-GB" lang="EN-US">ing</span></b><b><span style="font-size:10.0pt;font-family:"Courier
              New";color:black;mso-fareast-language:EN-GB">Block</span></b><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">(<i>Consumer</i><<i>BlockCodeBuilder</i>>
            handler, <i>CodeTransform</i> transform)<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">or just simple:<o:p></o:p></span></p>
        <p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">   
          </span><span style="font-size:10.0pt;font-family:"Courier
            New";color:#336BDD;mso-fareast-language:EN-GB">default</span><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">
            CodeBuilder
          </span><b><span style="font-size:10.0pt;font-family:"Courier
              New";color:black;mso-fareast-language:EN-GB" lang="EN-US">b</span></b><b><span style="font-size:10.0pt;font-family:"Courier
              New";color:black;mso-fareast-language:EN-GB">lock</span></b><span style="font-size:10.0pt;font-family:"Courier
            New";color:black;mso-fareast-language:EN-GB">(<i>Consumer</i><<i>BlockCodeBuilder</i>>
            handler, <i>CodeTransform</i> transform)<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">Please let me know which
            version do you prefer or propose alternatives.<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">Thanks,<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">Adam<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
      </div>
    </blockquote>
    <br>
  </body>
</html>