/// <summary>Snippet for PatchTraces</summary>
        public void PatchTraces()
        {
            // Snippet: PatchTraces(string, Traces, CallSettings)
            // Create client
            TraceServiceClient traceServiceClient = TraceServiceClient.Create();
            // Initialize request argument(s)
            string projectId = "";
            Traces traces    = new Traces();

            // Make the request
            traceServiceClient.PatchTraces(projectId, traces);
            // End snippet
        }
        /// <summary>Snippet for PatchTraces</summary>
        public void PatchTracesRequestObject()
        {
            // Snippet: PatchTraces(PatchTracesRequest, CallSettings)
            // Create client
            TraceServiceClient traceServiceClient = TraceServiceClient.Create();
            // Initialize request argument(s)
            PatchTracesRequest request = new PatchTracesRequest
            {
                ProjectId = "",
                Traces    = new Traces(),
            };

            // Make the request
            traceServiceClient.PatchTraces(request);
            // End snippet
        }
        /// <inheritdoc />
        public void Receive(IEnumerable <TraceProto> traces)
        {
            GaxPreconditions.CheckNotNull(traces, nameof(traces));

            TraceProto trace = traces.FirstOrDefault();

            // If there are no traces do not try to send them.
            if (trace == null)
            {
                return;
            }

            Traces tracesObj = new Traces {
                Traces_ = { traces }
            };

            // If the client task has faulted this will throw when accessing 'Result'
            _client.PatchTraces(trace.ProjectId, tracesObj);
        }