code: public void addReadUrl(String url) {        
          
          //
          // Only cache the url data if logging is enabled.
          //
          
          if (readUrlLoggingEnabled == false) {
              return;
          }
          
          //
          // Strip off the query parameters.
          //
          
          int paramIndex = url.indexOf('?');
          String filteredUrl = url;
          if (paramIndex != -1) {
              filteredUrl = url.substring(0, paramIndex);
          }
  
          //
          // Because Cache doesn't take advantage of the underlying concurrentMap, this code either has to (1)introduce 
          // sync block to synchronize addReadUrl requests which would negatively impact all templates calling addReadUrl
          // or (2) accept potential race condition during the first add call on the same Url. This implementation takes
          // (2) approach as this feature is more for reporting and hence not worth the performance degradation . Also, 
          // once the first record is added to the map, the race condition no longer exists due to the use of atomic 
          // variable.
          //        
          
          AtomicLong count = (AtomicLong)__UrlMap.get(filteredUrl);
          if (count == null) {
              count = new AtomicLong(1);
              __UrlMap.put(filteredUrl, count);
          }
          else {
              count.incrementAndGet();
          }        
      }
docs: Adds the URL to the list if it doesn't already exist. Or increment the hit count otherwise.
  
  @param url The URL requested.