public static @NotNull JavaVersion current() {
    if (current == null) {
      JavaVersion fallback = parse(System.getProperty("java.version"));
      JavaVersion rt = rtVersion();
      if (rt == null) {
        try { rt = parse(System.getProperty("java.runtime.version")); }
        catch (Throwable ignored) { }
      }
      current = rt != null && rt.feature == fallback.feature && rt.minor == fallback.minor ? rt : fallback;
    }
    return current;
  }
public static @NotNull JavaVersion current()