Modified for java 1.7