Switched to JRE 6 for backwards compatibility and removed synchronized from methods since they won't be called in parallel by design.