/// <summary>
        /// DeleteAvatarAsync implementation
        /// </summary>
        private IEnumerator DeleteAvatarFunc(string avatarCode, AsyncRequest request)
        {
            var avatarRequest = GetAvatarAsync(avatarCode);

            yield return(avatarRequest);

            if (avatarRequest.IsError)
            {
                request.SetError(avatarRequest.ErrorMessage);
                yield break;
            }

            var deleteRequest = connection.DeleteAvatarAsync(avatarRequest.Result);

            yield return(request.AwaitSubrequest(deleteRequest, 0.5f));

            if (request.IsError)
            {
                yield break;
            }

            CoreTools.DeleteAvatarFiles(avatarCode);

            request.IsDone = true;
        }