private void add(@NotNull FilePath filePath) {
    // do not store 'subString' to reduce memory footprint
    CharSequence parent = PathUtilRt.getParentPathSequence(new CharSequenceSubSequence(filePath.getPath()));
    if (parent.isEmpty()) return;

    myDirectParents.add(parent);

    while (!parent.isEmpty()) {
      boolean wasAdded = myAllPaths.add(parent);
      if (!wasAdded) break;
      parent = PathUtilRt.getParentPathSequence(parent);
    }
  }
private void add(@NotNull FilePath filePath)