In case you would like to use a Java Decompiler...
Until recently, all of them are either unstable, or obsolete, or not finished, or commercial, or - in the best case - all of that. And if not - then they were commercial.
The obsoletnes typically proved as the fact that they can only decompile JDK 1.3 bytecode.
The only so-so working solution was to take the .class file and pre-process it so it becomes JDK 1.3 compatible, and then run JaD over it (one of those better old decompilers).
The situation was a bit chaotic as many of the sites are down, some decompilers used multiple names or had the originality level 6000 of naming itself "Decompiler" or "Java Decompiler", or JD, JaD, JADE, JODE, JDec, etc. in better case, but changing these abbrevs over time.
But recently, a new wave of decompilers is coming: Procyon, CFR, Krakatau, Candle, JBVD, EDJC.
2014. JDK 5, partly 6. Written in Java. Worth trying.
CFR - http://www.benf.org/other/cfr/
2014. JDK 6, 7, 8 support. Written in Java 6.
“CFR by Lee Benfield is well on its way to becoming the premier Java Decompiler. Lee and I actually work for the same company and share regression tests. We're engaged in a friendly competition to see who can deliver a better decompiler. Based on his progress thus far, there's a very good chance he will win--at least on decompiling obfuscated code :)”
“Hello, I would like to share this java decompiler with the community. FernFlower is the first analytic decompiler for java. It will decompile class files and jar files to human readable java code. Unlike JD-GUI it does not decompile to byte code. It also will deobfuscate the source if you ask it to. This tool should work well with dex2jar. The files are attached. It requires java to run.”