avoid reading Java file twice (in getApplicationClass and ApplicationClass constructor)
Use shorter API
Use StringBuilder instead of old-fashioned StringBuffer that is slow (synchronized)