@Override
  public @NotNull Collection<VirtualFile> getRoots() {
    Value value = getValue();
    if (value instanceof RootsProvider) {
      return ((RootsProvider)value).getRoots();
    }
    if (value instanceof VirtualFile) {
      return Collections.singleton((VirtualFile)value);
    }
    if (value instanceof PsiFileSystemItem item) {
      return getDefaultRootsFor(item.getVirtualFile());
    }
    return Collections.emptySet();
  }
@Override
  public @NotNull Collection<VirtualFile> getRoots()