public bool CheckIfVersionIsValid(string versionToCheck)
        {
            bool isStartValid;
            bool isEndValid;

            if (!IsWildcardVersion(MinVersion))
            {
                int?startComparison = VersionStringHelpers.CompareVersions(MinVersion, versionToCheck);

                if (startComparison == null)
                {
                    return(false);
                }

                if (IsStartInclusive)
                {
                    isStartValid = startComparison.Value <= 0;
                }
                else
                {
                    isStartValid = startComparison.Value < 0;
                }
            }
            else
            {
                isStartValid = true;
            }

            if (!IsWildcardVersion(MaxVersion))
            {
                int?endComparison = VersionStringHelpers.CompareVersions(versionToCheck, MaxVersion);

                if (endComparison == null)
                {
                    return(false);
                }

                if (IsEndInclusive)
                {
                    isEndValid = endComparison.Value <= 0;
                }
                else
                {
                    isEndValid = endComparison.Value < 0;
                }
            }
            else
            {
                isEndValid = true;
            }

            return(isStartValid && isEndValid);
        }
        public bool CheckIfVersionIsValid(string versionToCheck)
        {
            int?result = VersionStringHelpers.CompareVersions(RequiredVersion, versionToCheck);

            return(result.HasValue && result.Value == 0);
        }