code: public static boolean isMinimumVersion(String minimumVersion, int candidateMajor, int candidateMinor,
                                             int candidatePatch) {
          String[] parts = minimumVersion.split("\\.", 3);
          int minMajor = Integer.parseInt(parts[0]);
          int minMinor = (parts.length > 1) ? Integer.parseInt(parts[1]) : 0;
          int minPatch = (parts.length > 2) ? Integer.parseInt(parts[2]) : 0;
  
          if (minMajor > candidateMajor) {
              return false;
          }
  
          if ((minMajor == candidateMajor) && (minMinor > candidateMinor)) {
              return false;
          }
  
          return !((minMajor == candidateMajor) && (minMinor == candidateMinor) && (minPatch > candidatePatch));
      }
docs: Compares a minimum version number given in string form (only the first three parts are considered) with a
  candidate version given as the three ints major, minor and patch.
  
  @param minimumVersion The minimum version that is required, given as a string with up to 3 parts, e.g. "7.4" or "9.6.3"
  @param candidateMajor the version number to be tested, major part
  @param candidateMinor the version number to be tested, minor part
  @param candidatePatch the version number to be tested, patch part
  @return true if candidateMajor.candidateMinor.candidatePatch >= minimumVersion or false if not