added infrastructure to modify the Java source code and the byte code before the Java compiler is processing it