--- old/src/java.base/share/classes/jdk/Version.java 2016-04-25 14:50:42.000000000 -0700 +++ new/src/java.base/share/classes/jdk/Version.java 2016-04-25 14:50:42.000000000 -0700 @@ -459,8 +459,8 @@ } else { if (!oPre.isPresent()) return -1; - String val = pre.get(); - String oVal = oPre.get(); + String val = pre.getWhenPresent(); + String oVal = oPre.getWhenPresent(); if (val.matches("\\d+")) { return (oVal.matches("\\d+") ? (new BigInteger(val)).compareTo(new BigInteger(oVal)) @@ -478,7 +478,7 @@ Optional oBuild = ob.build(); if (oBuild.isPresent()) { return (build.isPresent() - ? build.get().compareTo(oBuild.get()) + ? build.getWhenPresent().compareTo(oBuild.getWhenPresent()) : 1); } else if (build.isPresent()) { return -1; @@ -494,7 +494,7 @@ } else { if (!oOpt.isPresent()) return 1; - return optional.get().compareTo(oOpt.get()); + return optional.getWhenPresent().compareTo(oOpt.getWhenPresent()); } return 0; } @@ -513,13 +513,13 @@ pre.ifPresent(v -> sb.append("-").append(v)); if (build.isPresent()) { - sb.append("+").append(build.get()); + sb.append("+").append(build.getWhenPresent()); if (optional.isPresent()) - sb.append("-").append(optional.get()); + sb.append("-").append(optional.getWhenPresent()); } else { if (optional.isPresent()) { sb.append(pre.isPresent() ? "-" : "+-"); - sb.append(optional.get()); + sb.append(optional.getWhenPresent()); } }