http://www.java-forums.org/advanced-java/46995-bytecode-instrumentation.html