private static void TraceError(
            this ITraceWriter traceWriter,
            Exception exception,
            HttpRequestMessage request,
            string category,
            string operatorName,
            string operationName,
            Action <TraceRecord> errorTrace
            )
        {
            TraceLevel traceLevel =
                TraceWriterExceptionMapper.GetMappedTraceLevel(exception) ?? TraceLevel.Error;

            traceWriter.Trace(
                request,
                category,
                traceLevel,
                (traceRecord) =>
            {
                traceRecord.Kind      = TraceKind.End;
                traceRecord.Operator  = operatorName;
                traceRecord.Operation = operationName;
                traceRecord.Exception = exception;
                TraceWriterExceptionMapper.TranslateHttpResponseException(traceRecord);
                if (errorTrace != null)
                {
                    errorTrace(traceRecord);
                }
            }
                );
        }