public override async Task EnableTwinPatchAsync(CancellationToken cancellationToken) { if (Logging.IsEnabled) { Logging.Enter(this, cancellationToken, $"{nameof(EnableTwinPatchAsync)}"); } try { cancellationToken.ThrowIfCancellationRequested(); await _amqpUnit.EnsureTwinLinksAreOpenedAsync(_operationTimeout).ConfigureAwait(false); } catch (Exception exception) when(!exception.IsFatal() && !(exception is OperationCanceledException)) { throw AmqpClientHelper.ToIotHubClientContract(exception); } finally { if (Logging.IsEnabled) { Logging.Exit(this, cancellationToken, $"{nameof(EnableTwinPatchAsync)}"); } } }