docs: @Override
      public int getMemoryCacheHashcode(boolean debug, boolean includeValue) {
          final String methodName = "getMemoryCacheHashcode()";
          int totalHashcode = 0;
          StringBuffer sb = new StringBuffer();
          int count = 0;
          int totalCount = 0;
          Set cacheIds = this.coreCache.getCacheIds();
          if (cacheIds != null && !cacheIds.isEmpty()) {
              Iterator it = cacheIds.iterator();
              while (it.hasNext()) {
                  Object cacheId = it.next();
                  boolean found = false;
                  int id_hc = cacheId.hashCode();
                  int value_hc = 0;
                  if (includeValue) {
                      com.ibm.websphere.cache.CacheEntry ce = this.coreCache.get(cacheId);
                      if (ce != null) {
                          found = true;
                          value_hc = ce.getValue().hashCode();
                      } else {
                          if (tc.isDebugEnabled()) {
                              Tr.debug(tc, methodName + " cacheName=" + cacheName + " cacheId=" + cacheId + " ERROR - the cache entry cannot be found");
                          }
                      }
                  } else {
                      found = true;
                  }
                  // if debug is true, put the cache id and its hashcode into string buffer and then write to systemout.log 
                  // when it reaches 100 entries.
                  if (debug && found) {
                      sb.append("\nid=");
                      sb.append(cacheId);
                      sb.append(" id_hashcode=");
                      sb.append(id_hc);
                      if (includeValue) {
                          sb.append(" value_hashcode=");
                          sb.append(value_hc);
                      }
                      count++;
                      if (count == 100) {
                          Tr.info(tc, "DYNA1035I", new Object[] { String.valueOf(count), this.cacheName, sb.toString() });
                          sb.setLength(0);
                          count = 0;
                      }
                  }
                  if (found) {
                      totalCount++;
                      totalHashcode += id_hc;
                      if (includeValue) {
                          totalHashcode += value_hc;
                      }
                  }
              }
          }
          if (debug && count > 0) {
              Tr.info(tc, "DYNA1035I", new Object[] { String.valueOf(count), this.cacheName, sb.toString() });
          }
          Tr.info(tc, "DYNA1038I", new Object[] { String.valueOf(totalCount), this.cacheName });
          if (tc.isDebugEnabled()) {
              Tr.debug(tc, "getMemoryCacheHashcode():  totalCount=" + totalCount + " totalHashcode=" + totalHashcode);
          }
          return totalHashcode;
      }