docs: private void initializeCacheData(int cacheSize)
      {
          final boolean isTraceOn = TraceComponent.isAnyTracingEnabled();
          if (isTraceOn && (tc.isEntryEnabled() || tcOOM.isEntryEnabled()))
              Tr.entry(tc.isEntryEnabled() ? tc : tcOOM,
                       "initializeCacheData : " + ivCache.getName() + " preferred size = " +
                                       ivPreferredMaxSize);
  
          ivPreferredMaxSize = cacheSize;
  
          // Define an internal upper limit to the cache size. This is similar
          // to the 'hard' limit, but would never be enforced; it is merely
          // used to determine a point at which the eviction strategy should
          // dynamically tune itself to become more aggressive.               d112258
          ivUpperLimit = (long) (ivPreferredMaxSize * 1.1); // 10% over cache size
  
          // Give the cache a little breathing room (or buffer) below the
          // soft limit. By reducing to this far below the soft limit, it
          // is less likely that the next sweep will have to do anything.
          ivSoftLimitBuffer = ivPreferredMaxSize / 100; // 1% of the Cache Size
          if (ivSoftLimitBuffer > 50) // Don't let this get too big.
              ivSoftLimitBuffer = 50;
  
          if (isTraceOn && (tc.isEntryEnabled() || tcOOM.isEntryEnabled()))
              Tr.exit(tc.isEntryEnabled() ? tc : tcOOM,
                      "initializeCacheData : " + ivCache.getName() + " preferred size = "
                                      + ivPreferredMaxSize + " limit = " + ivUpperLimit +
                                      ", buffer = " + ivSoftLimitBuffer);
      }