private void UpdateGetTagsRequest(UnityWebRequest webRequest)
    {
        if (isGetTagsRequestDone ||
            !webRequest.isDone)
        {
            return;
        }

        isGetTagsRequestDone = true;
        if (webRequest.result is not UnityWebRequest.Result.Success)
        {
            Debug.LogError($"Getting tags from '{webRequest.url}'"
                           + $" has result {webRequest.result}.\n{webRequest.error}");
            return;
        }

        string getTagsResponse = webRequest.downloadHandler.text;
        List <RepositoryTagDto> repositoryTagDtos = JsonConverter.FromJson <List <RepositoryTagDto> >(getTagsResponse);

        if (repositoryTagDtos == null)
        {
            return;
        }

        RepositoryTagDto newestTagDto = FindNewestTagDto(repositoryTagDtos);

        if (newestTagDto == null)
        {
            return;
        }

        StartGetRemoteVersionFileRequest(newestTagDto.name);
    }
    private RepositoryTagDto FindNewestTagDto(IEnumerable <RepositoryTagDto> tagDtos)
    {
        RepositoryTagDto newestTagDto = null;

        foreach (RepositoryTagDto tagDto in tagDtos)
        {
            if (newestTagDto == null ||
                CompareVersionString(newestTagDto.name, tagDto.name) < 0)
            {
                newestTagDto = tagDto;
            }
        }

        return(newestTagDto);
    }