getNewerVersion(versions, version, versionComponent) {
    // Determine operator for range comparison
    const operator = versionComponent == CiVersionCheck.versionComponents.major
      ? '>='
      : versionComponent == CiVersionCheck.versionComponents.minor
        ? '^'
        : '~'
    const latest = semver.maxSatisfying(versions, `${operator}${version}`);

    // If the version should be ignored, skip it
    if (this.ignoreReleasedVersions.length > 0 && semver.satisfies(latest, this.ignoreReleasedVersions.join(' || '))) {
      return undefined;
    }

    // Return the latest version if it is newer than any currently used version
    return semver.gt(latest, version) ? latest : undefined;
  }
Returns the latest version for a given version and component.
@param {Array<String>} versions The versions in which to search.
@param {String} version The version for which a newer version
should be searched.
@param {String} versionComponent The version component up to
which the latest version should be checked.
@returns {String|undefined} The newer version.