docs: private void initializeCaches(Map<String, Object> configProps) {
          final String METHODNAME = "initializeCaches(DataObject)";
  
          /*
           * initialize the cache pool names
           */
          iAttrsCacheName = iReposId + "/" + iAttrsCacheName;
          iSearchResultsCacheName = iReposId + "/" + iSearchResultsCacheName;
  
          List<Map<String, Object>> cacheConfigs = Nester.nest(CACHE_CONFIG, configProps);
          Map<String, Object> attrCacheConfig = null;
          Map<String, Object> searchResultsCacheConfig = null;
  
          if (!cacheConfigs.isEmpty()) {
              Map<String, Object> cacheConfig = cacheConfigs.get(0);
              Map<String, List<Map<String, Object>>> cacheInfo = Nester.nest(cacheConfig, ATTRIBUTES_CACHE_CONFIG, SEARCH_CACHE_CONFIG);
              List<Map<String, Object>> attrList = cacheInfo.get(ATTRIBUTES_CACHE_CONFIG);
              if (!attrList.isEmpty()) {
                  attrCacheConfig = attrList.get(0);
              }
              List<Map<String, Object>> searchList = cacheInfo.get(SEARCH_CACHE_CONFIG);
              if (!searchList.isEmpty()) {
                  searchResultsCacheConfig = searchList.get(0);
              }
  
              if (attrCacheConfig != null) {
                  iAttrsCacheEnabled = (Boolean) attrCacheConfig.get(CONFIG_PROP_ENABLED);
                  if (iAttrsCacheEnabled) {
                      // Initialize the Attributes Cache size
                      iAttrsCacheSize = (Integer) attrCacheConfig.get(CONFIG_PROP_CACHE_SIZE);
                      iAttrsCacheTimeOut = (Long) attrCacheConfig.get(CONFIG_PROP_CACHE_TIME_OUT);
                      iAttrsSizeLmit = (Integer) attrCacheConfig.get(CONFIG_PROP_ATTRIBUTE_SIZE_LIMIT);
                      /*
                       * TODO:: Cache Distribution is not yet needed.
                       * String cacheDistPolicy = attrCacheConfig.getString(CONFIG_PROP_CACHE_DIST_POLICY);
                       * if (cacheDistPolicy != null) {
                       * iAttrsCacheDistPolicy = LdapHelper.getCacheDistPolicyInt(cacheDistPolicy);
                       * }
                       */
                  }
              }
  
              if (searchResultsCacheConfig != null) {
                  iSearchResultsCacheEnabled = (Boolean) searchResultsCacheConfig.get(CONFIG_PROP_ENABLED);
                  if (iSearchResultsCacheEnabled) {
                      // Initialize the Search Results Cache size
                      iSearchResultsCacheSize = (Integer) searchResultsCacheConfig.get(CONFIG_PROP_CACHE_SIZE);
                      iSearchResultsCacheTimeOut = (Long) searchResultsCacheConfig.get(CONFIG_PROP_CACHE_TIME_OUT);
                      iSearchResultSizeLmit = (Integer) searchResultsCacheConfig.get(CONFIG_PROP_SEARCH_RESULTS_SIZE_LIMIT);
  
                      /*
                       * TODO:: Cache Distribution is not yet needed.
                       * String cacheDistPolicy = searchResultsCacheConfig.getProperties().get(ConfigConstants.CONFIG_PROP_CACHE_DIST_POLICY);
                       * if (cacheDistPolicy != null) {
                       * iSearchResultsCacheDistPolicy = LdapHelper.getCacheDistPolicyInt(cacheDistPolicy);
                       * }
                       */
                  }
              }
          }
          if (iAttrsCacheEnabled) {
              createAttributesCache();
  
              if (iAttrsCache == null) {
                  if (tc.isDebugEnabled()) {
                      Tr.debug(tc, METHODNAME + " Attributes Cache: " + iAttrsCacheName + " is not available because cache is not available yet.");
                  }
              }
          } else {
              if (tc.isDebugEnabled()) {
                  Tr.debug(tc, METHODNAME + " Attributes Cache: " + iAttrsCacheName + " is disabled.");
              }
          }
          if (iSearchResultsCacheEnabled) {
              createSearchResultsCache();
              if (iSearchResultsCache == null) {
                  if (tc.isDebugEnabled()) {
                      Tr.debug(tc, METHODNAME + " Search Results Cache: " + iSearchResultsCacheName + " is not available because cache is not available yet.");
                  }
              }
          } else {
              if (tc.isDebugEnabled()) {
                  Tr.debug(tc, METHODNAME + " Search Results Cache: " + iSearchResultsCacheName + " is disabled.");
              }
          }
      }