title: `Advice.WithCustomMapping` to bind a dynamically added field
body: <p>Using <code>byte-buddy</code>, I think I need to use <code>Advice.WithCustomMapping</code> to reference arbitrary fields that I choose based on some runtime logic.</p>
  <p>However, I am a little lost how to create a reference to fields that I add as part of instrumentation?</p>
  <pre><code>AgentBuilder ab = new AgentBuilder.Default();
  ...
  ab = ab.type(named(type))
         .transform((builder, td, _cl, _m) -&gt;
            builder
               .defineField(&quot;$lat$&quot;, LatencyEvent.class, Visibility.PUBLIC) // new field; I want to create multiple
               .visit(Advice.withCustomMapping()
               .bind(Lat.class, td.getDeclaredFields().filter(named(&quot;$lat$&quot;)).getOnly()) // ok, here I want to reference the newly added field
               .to(EndLatAdvice.class)
               .on(isMethod().and(named(until)))) // pick a target method
  ...
  private static class EndLatAdvice {
        @Advice.OnMethodEnter
        static void enter(@Lat LatencyEvent l) { // hoping to have access to the newly added field
  ...
  }
  </code></pre>
  <p>Also, while we are at it, I notice for <code>Advice.FieldValue</code> we need to specify <code>readOnly = false</code>, if we mean to write back to that field. How is that done for the <code>WithCustomMapping</code> (assuming that's the right tool for this).</p>