private static void convertExecutionToCbor(
     CBORGenerator cbor,
     HystrixRequestEvents.ExecutionSignature executionSignature,
     List<Integer> latencies)
     throws IOException {
   cbor.writeStartObject();
   cbor.writeStringField(NAME_FIELD, executionSignature.getCommandName());
   cbor.writeArrayFieldStart(EVENTS_FIELD);
   ExecutionResult.EventCounts eventCounts = executionSignature.getEventCounts();
   for (HystrixEventType eventType : HystrixEventType.values()) {
     if (eventType.equals(COLLAPSED)) {
       cbor.writeNumber(eventType.ordinal());
       cbor.writeNumber(executionSignature.getCollapserBatchSize());
       continue;
     }
     if (eventCounts.contains(eventType)) {
       int eventCount = eventCounts.getCount(eventType);
       if (eventCount > 0) {
         cbor.writeNumber(eventType.ordinal());
         cbor.writeNumber(eventCount);
       }
     }
   }
   cbor.writeEndArray();
   cbor.writeArrayFieldStart(LATENCIES_FIELD);
   for (int latency : latencies) {
     cbor.writeNumber(latency);
   }
   cbor.writeEndArray();
   if (executionSignature.getCachedCount() > 0) {
     cbor.writeNumber(executionSignature.getCachedCount());
   }
   cbor.writeEndObject();
 }