private @Nullable FSItem convert(@NotNull VirtualFile file) {
    VirtualFile parentFile = file.getParent();
    if (parentFile == null) {
      return myRoot;
    }
    FSItem item = file.getUserData(FS_ITEM_KEY);
    if (item == null) {
      FSItem parentItem = convert(parentFile);
      if (parentItem == null || !parentItem.isDirectory()) {
        return null;
      }
      item = parentItem.findChild(file.getName());
      registerFSItem(file, item);
    }
    return item;
  }
private @Nullable FSItem convert(@NotNull VirtualFile file)