code: public static String relativePath(File parent, File child) {
          Path superPath = parent.toPath();
          Path subPath = child.toPath();
          if (!subPath.startsWith(superPath)) {
              throw new IllegalArgumentException("Not a subpath: " + child);
          }
          return superPath.relativize(subPath).toString();
      }
docs: Return the relative path between a parent directory and some child path
  
  @param parent
  @param child
  
  @return the relative path for the child
  
  @throws IllegalArgumentException if child is not a subpath