Contains class-specific information used when transforming an raw class into an executable class. Much of this information is somewhat like ordinary reflection, but applies to a class that has not yet been loaded.
Transformation is primarily about identifying annotations on fields and on methods and changing the class, adding new interfaces, fields and methods, and deleting some existing fields.
A ClassTransformation contains all the state data specific to a particular class being transformed. A number of workers will operate upon the ClassTransformation to effect the desired changes before the true class is loaded into memory.
Instances of this class are not designed to be thread safe, access to an instance should be restricted to a single thread. In fact, the design of this type is to allow stateless singletons in multiple threads to work on thread-specific data (within the ClassTransformation).
The majority of methods concern the declared members (field and methods) of a specific class, rather than any fields or methods inherited from a base class.