@Contract(pure = true)
  public static @Nullable File findAncestor(@NotNull File f1, @NotNull File f2) {
    File ancestor = f1;
    while (ancestor != null && !isAncestor(ancestor, f2, false)) {
      ancestor = ancestor.getParentFile();
    }
    return ancestor;
  }
@Contract(pure = true)
  public static @Nullable File findAncestor(@NotNull File f1, @NotNull File f2)