public override async Task <CaptureResult> Capture() { var result = new CaptureResult(); try { var systemValue = await systemSetting.GetValue(); result.Success = TryConvertFromSystem(systemValue, Setting.Kind, out result.Value); } catch (Exception e) { logger.LogError(e, "Failed to GetValue() for {0}", Description.SettingId); } return(result); }