Requires at least Java 6.