code: public Map<T, Long> getCountsThenAdvanceWindow() {
          Map<T, Long> counts = objCounter.getCounts();
          objCounter.wipeZeros();
          objCounter.wipeSlot(tailSlot);
          advanceHead();
          return counts;
      }
docs: Return the current (total) counts of all tracked objects, then advance
  the window.
  <p/>
  Whenever this method is called, we consider the counts of the current
  sliding window to be available to and successfully processed "upstream"
  (i.e. by the caller). Knowing this we will start counting any subsequent
  objects within the next "chunk" of the sliding window.
  
  @return The current (total) counts of all tracked objects.