docs: void reset()
      {
          final boolean isTraceOn = TraceComponent.isAnyTracingEnabled();
          if (isTraceOn && tc.isEntryEnabled())
              Tr.entry(tc, "reset");
          // Pick a random bucket to start with so that the
          // EvictionStrategy doesn't play favorites.
          Random random = new Random();
          ivBucketIndex = random.nextInt(ivCache.getNumBuckets());
  
          if (isTraceOn && tc.isDebugEnabled())
          {
              // Staticstics about the bucket sizes are normally output when
              // the end of the enumeration is hit, but if the user never
              // hit the end before resetting, then output that info here.
              String stats = "";
              if (ivBucketCount > 0 &&
                  (ivBucketCount < ivCache.getNumBuckets() ||
                  ivElementIndex < ivBucketSize))
              {
                  stats = ", returned = " + ivElementsReturned + " (lookup avg = " +
                          ((float) ivTotalLookups / ivElementsReturned) + // d119287
                          ", max = " + ivMaxBucketSize + ")";
              }
  
              Tr.debug(tc, "reset : " + ivCache.getName() + " = " + ivCache.numObjects +
                           ", index = " + ivBucketIndex + "/" + ivCache.getNumBuckets() +
                           stats);
  
              // Reset the Performance/Tuning/Trace data
              ivElementsReturned = 0;
              ivMaxBucketSize = 0;
              ivTotalLookups = 0; // d119287
              for (int i = 0; i < ivBucketSizeStats.length; ++i)
                  // d119287
                  ivBucketSizeStats[i] = 0;
          }
  
          // Clear out the copy made of the last bucket enumerated, so the
          // resources aren't held in memory while any 'cached' instances
          // of this class are not in use.                                   d310114
          // Changed to use ivBucket.length instead of ivBucketSize here
          // to resolve a potential problem where the "second to last"
          // bucket swept was larger than the last.   In that case the
          // we would only null out the entries from the last bucket and
          // leave the remaining entries from the previous bucket held
          // in memory.     //PM11713
          java.util.Arrays.fill(ivBucket, null);
  
          // Indicate that no buckets have been enumerated.
          ivBucketCount = 0;
          ivBucketSize = 0;
          ivElementIndex = 0;
  
          // Note: Positioning to the first non empty bucket, initializing
          // the internal copy (ivBucket) will not occur until the first use
          // of the enumerator after reset. This will actually skip the bucket
          // randomly picked above, but this is fine, because ivBucketCount
          // is initialized to 0; the bucket skipped now will be the last
          // bucket evaluated.                                               d310114
          if (isTraceOn && tc.isEntryEnabled()) {
              Tr.exit(tc, "reset");
          }
      }