private void foo(MutableExecutionInfo exec, ExecutionEndEvent event) {
      // NOTE: 'exec.phaseCount += event.phaseCount' would be wrong,
      // because we have already incremented each time we got an
      // ExecutionPhaseEvent. For a similar reason, we do not update
      // exec.cellCacheHitCount etc. each phase.

      ++exec.endCount;
      ++exec.phaseCount;
      exec.cellCacheHitCount += event.cellCacheHitCount;
      exec.cellCacheMissCount += event.cellCacheMissCount;
      exec.cellCachePendingCount += event.cellCachePendingCount;
      exec.cellCacheRequestCount +=
          (event.cellCacheHitCount + event.cellCacheMissCount + event.cellCachePendingCount);
      exec.cellCacheHitCountDelta = 0;
      exec.cellCacheMissCountDelta = 0;
      exec.cellCachePendingCountDelta = 0;
    }
 private void foo(MutableExecutionInfo exec, ExecutionPhaseEvent event) {
   ++exec.phaseCount;
   exec.cellCacheHitCountDelta = event.hitCount;
   exec.cellCacheMissCountDelta = event.missCount;
   exec.cellCachePendingCountDelta = event.pendingCount;
 }