Description
JDK 8 adds a new warning that the use of underscore as an identifier may be removed in future versions. We should just go ahead and remove the use of these in our code to eliminate these warnings and prepare for future versions of Java where support for this is dropped.
Also fix a type safety check of a generic method which prevents compilation on JDK8, and make JDK version configurable in the POM to make it easier to run a test build against 1.8.