BCEL (The Byte Code Engineering Library) is intended to give users a convenient possibility to analyze, create, and manipulate (binary) Java class files (those ending with .class). Classes are represented by objects which contain all the symbolic information of the given class: methods, fields and byte code instructions, in particular.

beSee can use BCEL to instrument the classes. A default implementation is provided.

Official site