java 6 compatibility