Inserta el código del Método en una nueva class

Intento crear una biblioteca sobre bytebuddy que se pueda usar para realizar transformaciones de time de ejecución en una class. La API que estoy creando no es directamente operable con ByteBuddy para insert código de método en las classs transformadas (quiero que los methods no anotados se agreguen completamente a la class transformada y los methods anotados con @Inject para ser inyectados en la cabeza o queue de un método existente), Mi solución a la falta de interoperabilidad fue crear una class temporal utilizando ByteBuddy, que se transforma entre mi API de nivel superior y la API de asesoramiento de ByteBuddy. Pero no puedo entender cómo pude insert todo el código de un método en la API de nivel superior en los methods definidos en el nivel inferior, ya que no puedo usar el asesoramiento para hacerlo. ¿Hay alguna manera de que yo pueda hacer esto?

Este es el código que he llegado a este punto

 fun apply(vararg transformerClasses: Class<*>) { for(clazz in transformerClasses) { val builder = ByteBuddy() .subclass(clazz) val mixinAnnotation = clazz.getAnnotation(Mixin::class.java) as? Mixin ?: throw RuntimeException("Passed transformer class without @Mixin annotation") val mixinTarget = mixinAnnotation.target.java for(method in clazz.declanetworkingMethods) { if(method.annotations.isEmpty()) { builder.defineMethod(method.name, method.returnType, Visibility.PUBLIC, Ownership.STATIC) .intercept(???) } } } }