code: private Config loadAncestorGlobalConfigs(Path path, Config sysProps) throws IOException {
      Config config = sysProps;
  
      if (!PathUtils.isAncestor(this.rootDirectory, path)) {
        log.warn(String.format("Loaded path %s is not a descendant of root path %s. Cannot load global properties.",
            path, this.rootDirectory));
      } else {
  
        List<Path> ancestorPaths = Lists.newArrayList();
        while (PathUtils.isAncestor(this.rootDirectory, path)) {
          ancestorPaths.add(path);
          path = path.getParent();
        }
  
        List<Path> reversedAncestors = Lists.reverse(ancestorPaths);
        for (Path ancestor : reversedAncestors) {
          config = findAndLoadGlobalConfigInDirectory(ancestor, config);
        }
      }
      return config;
    }
docs: Load at most one *.properties files from path and each ancestor of path up to and including {@link #rootDirectory}.
  Higher directories will serve as fallback for lower directories, and sysProps will serve as fallback for all of them.
  @throws IOException