private async void TestValue() { var testN = ++_testN; if (string.IsNullOrWhiteSpace(Value)) { IsValueAcceptable = true; CheckingInProgress = false; return; } CheckingInProgress = true; InternetConnectionRequired = false; await Task.Delay(50); if (testN != _testN) { return; } var value = await InternalUtils.CheckKeyAsync(Value, CmApiProvider.UserAgent); if (testN != _testN) { return; } CheckingInProgress = false; if (value.HasValue || OptionOfflineMode) { IsValueAcceptable = value ?? true; } else { InternetConnectionRequired = true; IsValueAcceptable = false; if (_attemptsCounter == 1) { OfflineModeAvailable = true; } } }