final String javaSpecificationVersion = System.getProperty(JAVA_SPECIFICATION_VERSION);
// JDK 1.6, 1.7 and 1.8 have same APIs
if (JDK16_SPECIFICATION_VERSION.compareToIgnoreCase(javaSpecificationVersion) <= 0)
{
delegated = new Jdk16ThreadDumper();
}
else if (JDK15_SPECIFICATION_VERSION.equalsIgnoreCase(javaSpecificationVersion))
{
delegated = new Jdk15ThreadDumper();
}