src/main/java/org/jboss/util/loading/Translator.java
/** Optionally transform the supplied class file and return a new replacement
    * class file.
    *
    * <P> If a transformer has been registered with the class loading layer,
    * the transformer will be called for every new class definition.
    * The request for a new class definition is made with defineClass
    * The transformer is called during the processing of the request, before
    * the class file bytes have been verified or applied.
    *
    * <P>
    * If the implementing method determines that no transformations are needed,
    * it should return <code>null</code>. Otherwise, it should create a new
    * byte[] array and copy the input <code>classfileBuffer</code> into it,
    * along with all desired transformations. The input <code>classfileBuffer</code>
    * must not be modified.
    *
    * @param loader - the defining loader of the class to be transformed, may
    *    be <code>null</code> if the bootstrap loader
    * @param className - the fully-qualified name of the class
    * @param classBeingRedefined - if this is a redefine, the class being
    *    redefined, otherwise <code>null</code>
    * @param protectionDomain - the protection domain of the class being
    *    defined or redefined
    * @param classfileBuffer - the input byte buffer in class file format - must
    *    not be modified
    *
    * @throws Exception - if the input does not represent a well-formed class file
    * @return a well-formed class file buffer (the result of the transform), 
    * or <code>null</code> if no transform is performed.
    */
Optionally transform the supplied class file and return a new replacement
class file.

 If a transformer has been registered with the class loading layer,
the transformer will be called for every new class definition.
The request for a new class definition is made with defineClass
The transformer is called during the processing of the request, before
the class file bytes have been verified or applied.


If the implementing method determines that no transformations are needed,
it should return null. Otherwise, it should create a new
byte[] array and copy the input classfileBuffer into it,
along with all desired transformations. The input classfileBuffer
must not be modified.



@throws Exception - if the input does not represent a well-formed class file
@return a well-formed class file buffer (the result of the transform),
or null if no transform is performed.
Optionally transform the supplied class file and return a new replacement class file . If a transformer has been registered with the class loading layer the transformer will be called for every new class definition . The request for a new class definition is made with defineClass The transformer is called during the processing of the request before the class file bytes have been verified or applied . If the implementing method determines that no transformations are needed it should return null . Otherwise it should create a new byte [] array and copy the input classfileBuffer into it along with all desired transformations . The input classfileBuffer must not be modified . @throws Exception - if the input does not represent a well - formed class file @return a well - formed class file buffer ( the result of the transform ) or null if no transform is performed .
public byte[] transform(ClassLoader loader,
      String className,
      Class<?> classBeingRedefined,
      ProtectionDomain protectionDomain,
      byte[] classfileBuffer)
      throws Exception;
public byte [ ] transform ( ClassLoader loader , String className , Class < ? > classBeingRedefined , ProtectionDomain protectionDomain , byte [ ] classfileBuffer ) throws Exception ;
Optionally transform the supplied class file and return a new replacement
 class file.
Optionally transform the supplied class file and return a new replacement class file .