void (@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); } }