java 6 compliant