<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>