public static @NotNull JavaVersion compose(int feature, int minor, int update, int build, boolean ea) throws IllegalArgumentException {
    if (feature < 0) throw new IllegalArgumentException();
    if (minor < 0) throw new IllegalArgumentException();
    if (update < 0) throw new IllegalArgumentException();
    if (build < 0) throw new IllegalArgumentException();
    return new JavaVersion(feature, minor, update, build, ea);
  }
public static @NotNull JavaVersion compose(int feature, int minor, int update, int build, boolean ea)