private static int[] splitVersion(String version) {
    try {
      var parts = Stream.of(version.split("\\.")).mapToInt(Integer::parseInt).toArray();
      if (parts.length != 4) throw new IllegalArgumentException("Invalid version format: " + version);
      return parts;
    }
    catch (NumberFormatException e) {
      throw new IllegalArgumentException("Invalid version format: " + version);
    }
  }
private static int[] splitVersion(String version)