docs: private Properties readFileHashCacheFile() {
          Properties props = new Properties();
          Log log = getLog();
          if (!this.targetDirectory.exists()) {
              this.targetDirectory.mkdirs();
          } else if (!this.targetDirectory.isDirectory()) {
              log.warn("Something strange here as the '" + this.targetDirectory.getPath()
                      + "' supposedly target directory is not a directory.");
              return props;
          }
  
          File cacheFile = new File(this.targetDirectory, CACHE_PROPERTIES_FILENAME);
          if (!cacheFile.exists()) {
              return props;
          }
  
          try (BufferedInputStream stream = new BufferedInputStream(new FileInputStream(cacheFile))) {
              props.load(stream);
          } catch (IOException e) {
              log.warn("Cannot load file hash cache properties file", e);
          }
          return props;
      }