docs: private void loadAndCheckPropertyFile() {
          final String methodName = "loadAndCheckPropertyFile()";
          final File f = new File(htodPropertyFileName);
          final File swapDirPathFile = new File(swapDirPath);
          final CacheOnDisk cod = this;
          traceDebug(methodName, "cacheName=" + this.cacheName);
          AccessController.doPrivileged(new PrivilegedAction() {
              public Object run() {
                  cod.propertyFileStatus = PROPERTY_FILE_OK;
                  String[] files = swapDirPathFile.list();
                  if (files != null && files.length > 0) {
                      for (int i = 0; i < files.length; i++) {
                          if (files[i].startsWith(HTOD_PREF + HTODDynacache.object_suffix)) {
                              cod.dataFiles++;
                          } else if (files[i].startsWith(HTOD_PREF + HTODDynacache.dependency_suffix)) {
                              cod.dependencyIdFiles++;
                          } else if (files[i].startsWith(HTOD_PREF + HTODDynacache.template_suffix)) {
                              cod.templateFiles++;
                          }
                      }
                  } else {
                      traceDebug(methodName, "cacheName=" + cod.cacheName + " no disk cache files exist");
                      cod.propertyFileStatus = (byte) (cod.propertyFileStatus | PROPERTY_ERROR_NO_FILES);
                      return null;
                  }
                  if (f.exists()) {
                      FileInputStream fis = null;
                      try {
                          fis = new FileInputStream(f);
                          Properties htodProp = new Properties();
                          htodProp.load(fis);
  
                          String sTemp = (String) htodProp.get(DISABLE_DEPENDENCY_ID);
                          if (sTemp != null) {
                              cod.disableDependencyIdFromPropertyFile = (Boolean.valueOf(sTemp)).booleanValue();
                          } else {
                              cod.propertyFileStatus = (byte) (cod.propertyFileStatus | PROPERTY_ERROR_DISABLE_DEPID);
                          }
                          sTemp = (String) htodProp.get(DISABLE_TEMPLATE_SUPPORT);
                          if (sTemp != null) {
                              cod.disableTemplatesSupprotFromPropertyFile = (Boolean.valueOf(sTemp)).booleanValue();
                          } else {
                              cod.propertyFileStatus = (byte) (cod.propertyFileStatus | PROPERTY_ERROR_DISABLE_TEMPLATE);
                          }
                          sTemp = (String) htodProp.get(CACHE_SIZE_IN_BYTES);
                          long currentCacheSizeInBytes = 0;
                          if (sTemp != null) {
                              currentCacheSizeInBytes = Long.parseLong(sTemp);
                          } else {
                              cod.propertyFileStatus = (byte) (cod.propertyFileStatus | PROPERTY_ERROR_CACHE_SIZE);
                              return null;
                          }
                          byte[] b = sTemp.getBytes("UTF-8");
                          int fieldCheck = 0;
                          for (int i = 0; i < b.length; i++) {
                              fieldCheck += (int) b[i];
                          }
                          fieldCheck = fieldCheck * 3;
                          sTemp = (String) htodProp.get(FIELD_CHECK);
                          if (sTemp != null) {
                              int expFieldCheck = Integer.parseInt(sTemp);
                              if (fieldCheck != expFieldCheck) {
                                  cod.propertyFileStatus = (byte) (cod.propertyFileStatus | PROPERTY_ERROR_FIELD_CHECK);
                                  return null;
                              }
                          } else {
                              cod.propertyFileStatus = (byte) (cod.propertyFileStatus | PROPERTY_ERROR_FIELD_CHECK);
                              return null;
                          }
  
                          sTemp = (String) htodProp.get(DATA_GB);
                          int dataGB = 0;
                          if (sTemp != null) {
                              dataGB = Integer.parseInt(sTemp);
                          } else {
                              cod.propertyFileStatus = (byte) (cod.propertyFileStatus | PROPERTY_ERROR_GB);
                              return null;
                          }
                          sTemp = (String) htodProp.get(DEPID_GB);
                          int dependencyIdGB = 0;
                          if (sTemp != null) {
                              dependencyIdGB = Integer.parseInt(sTemp);
                          } else {
                              cod.propertyFileStatus = (byte) (cod.propertyFileStatus | PROPERTY_ERROR_GB);
                              return null;
                          }
                          sTemp = (String) htodProp.get(TEMPLATE_GB);
                          int templateGB = 0;
                          if (sTemp != null) {
                              templateGB = Integer.parseInt(sTemp);
                          } else {
                              cod.propertyFileStatus = (byte) (cod.propertyFileStatus | PROPERTY_ERROR_GB);
                              return null;
                          }
                          cod.currentCacheSizeInBytes = currentCacheSizeInBytes;
                          cod.dataGB = dataGB;
                          cod.dependencyIdGB = dependencyIdGB;
                          cod.templateGB = templateGB;
  
                          traceDebug(methodName, "cacheName=" + cod.cacheName + " htod.properties exist with status=" + cod.propertyFileStatus
                                                 + " disableDependencyIdFromProperty=" + cod.disableDependencyIdFromPropertyFile
                                                 + " disableTemplatesSupportFromProperty=" + cod.disableTemplatesSupprotFromPropertyFile + " cacheSizeInBytes="
                                                 + cod.currentCacheSizeInBytes + " dataGB=" + cod.dataGB + " dependencyIdGB=" + cod.dependencyIdGB + " templateGB="
                                                 + cod.templateGB);
                      } catch (Throwable t) {
                          com.ibm.ws.ffdc.FFDCFilter.processException(t, "com.ibm.ws.cache.CacheOnDisk.loadAndCheckPropertyFile", "782", cod);
                          traceDebug(methodName, "cacheName=" + cod.cacheName + "\nException: " + ExceptionUtility.getStackTrace(t));
                          cod.propertyFileStatus = (byte) (cod.propertyFileStatus | PROPERTY_ERROR_FILE_CORRUPT);
                      } finally {
                          try {
                              if (fis != null) {
                                  fis.close();
                              }
                          } catch (Throwable t) {
                              com.ibm.ws.ffdc.FFDCFilter.processException(t, "com.ibm.ws.cache.CacheOnDisk.loadAndCheckPropertyFile", "791", cod);
                              traceDebug(methodName, "cacheName=" + cod.cacheName + "\nException: " + ExceptionUtility.getStackTrace(t));
                          }
                      }
  
                  } else {
                      cod.propertyFileStatus = (byte) (cod.propertyFileStatus | PROPERTY_ERROR_FILE_NOT_EXIST);
                      traceDebug(methodName, "cacheName=" + cod.cacheName + " htod.properties not exist" + " dependencyIdFiles="
                                             + cod.dependencyIdFiles + " templateFiles=" + cod.templateFiles);
                  }
                  return null;
              }
          });
      }