JDK6 or higher