The previous discussion on Evolve.java got me involved in tweaking it to make it more understandable, modifiable, and subclassable last night. Allow me to attach a copy of my revised version of the file here. I do so not because you can use it (it may or may not work with the current on-line version of ECJ) but because I rearranged the code a little bit and also included in the comments a BIG LONG discussion of how the revised code works and how you can use it to make your own main(). BTW, a basic main() can be constructed in about ten lines.