code: private List<AlluxioURI> getNestedPaths(AlluxioURI alluxioUri, int startComponentIndex) {
      try {
        String[] fullComponents = PathUtils.getPathComponents(alluxioUri.getPath());
        String[] baseComponents = Arrays.copyOfRange(fullComponents, 0, startComponentIndex);
        AlluxioURI uri = new AlluxioURI(
            PathUtils.concatPath(AlluxioURI.SEPARATOR, baseComponents));
        List<AlluxioURI> components = new ArrayList<>(fullComponents.length - startComponentIndex);
        for (int i = startComponentIndex; i < fullComponents.length; i++) {
          uri = uri.joinUnsafe(fullComponents[i]);
          components.add(uri);
        }
        return components;
      } catch (InvalidPathException e) {
        return Collections.emptyList();
      }
    }
docs: Returns a sequence of Alluxio paths for a specified path, starting from the path component at
  a specific index, to the specified path.
  
  @param alluxioUri the Alluxio path to get the nested paths for
  @param startComponentIndex the index to the starting path component,
  root directory has index 0
  @return a list of nested paths from the starting component to the given path