public @NotNull T getInfoForFile(@Nullable VirtualFile file) {
    if (!(file instanceof VirtualFileWithId) || !file.isValid()) return myDefValue;

    for (VirtualFile each = file; each != null; each = each.getParent()) {
      int id = ((VirtualFileWithId)each).getId();

      if (!myNonInterestingIds.get(id)) {
        T info = myRootInfos.get(each);
        if (info != null) {
          return info;
        }
        myNonInterestingIds.set(id);
      }
    }
    return myDefValue;
  }
public @NotNull T getInfoForFile(@Nullable VirtualFile file)