docs: public void endStatsCollection(long cache1Size, long cache2Size, CacheUse cacheUse, long partitionId) {
          if (m_currentStartTime != null) {
              long delta = System.nanoTime() - m_currentStartTime;
              if (delta < 0) {
                  if (Math.abs(delta) > 1000000000) {
                      log.info("Planner statistics recorded a negative planning time larger than one second: " +
                               delta);
                  }
              }
              else {
                  m_totalPlanningTime += delta;
                  m_minPlanningTime = Math.min(delta, m_minPlanningTime);
                  m_maxPlanningTime = Math.max(delta, m_maxPlanningTime);
                  m_lastMinPlanningTime = Math.min(delta, m_lastMinPlanningTime);
                  m_lastMaxPlanningTime = Math.max(delta, m_lastMaxPlanningTime);
              }
              m_currentStartTime = null;
          }
  
          m_cache1Level = cache1Size;
          m_cache2Level = cache2Size;
  
          switch(cacheUse) {
            case HIT1:
              m_cache1Hits++;
              break;
            case HIT2:
              m_cache2Hits++;
              break;
            case MISS:
              m_cacheMisses++;
              break;
            case FAIL:
              m_failures++;
              break;
          }
          m_invocations++;
  
          m_partitionId = partitionId;
      }