UIXv2 IShellListing.SetVirtualSelection what does it do?

What exactly does IShellListing.SetVirtualSelection (https://developer.m-files.com/Frameworks/User-Interface-Extensibility-Framework/Reference/UIExt2/Interfaces/IShellListing/SetVirtualSelection/ ) do and how it it different from let’s say IShellListing.SetObjectOrObjectFileVersionSelectionStates https://developer.m-files.com/Frameworks/User-Interface-Extensibility-Framework/Reference/UIExt2/Interfaces/IShellListing/SetObjectOrObjectFileVersionSelectionStates/ 

which has no “virtual” designation? 

The current description of UIXv2 SetVirtualSelection API says

“Overrides the items selection with a virtual selection. Items should be valid objects, otherwise the method will throw an exception and selection will not be changed.”

I am displaying a listing dashboard, so the built-in M-Files listing is not visible. However the metadata card and preview tabs are generally visible. My intention with calling SetVirtualSelection is to affect what is shown in the metadata card and the preview pane, and that did work with the corresponding API in UIX v1.

Effect on Metadata Card and Preview Pane

In UIX v2, empirically, calling SetVirtualSelection with an non-zero obj_ver parameter will display that object in the metadata card and will show a preview if it is a single-file object.

However, calling SetVirtualSelection with a file_ver of a multi-file document will NOT show a preview of that file in UIXv2, but the corresponding API did show the file preview in UIXv1.

Here is my call in UIXv2 with just a file_ver parameter:

listing.SetVirtualSelection( [
  {
    "isFile": true,
    "file_ver": {
      "file_id": {
        "type": 3,
        "internal_id": 1956,
        "external_repository_id": ""
      },
      "type": 3,
      "internal_version": 1,
      "external_repository_version": "",
      "external_repository_sort_key": 0
    }
  }
] ).then(() => {
  console.log("SetVirtualSelection success");
});

And it does print that success line.

I have also tried to pass both the file_ver and the corresponding obj_ver and isFile=true with identical result, i.e. no preview of the file.

The file is a simple .txt file part of a multi-file document and it does show in the preview pane if manually selected in a regular M-Files listing view in the same vNext client.

Effect on IShelLListing.CurrentSelection

Moreover, in UIXv2 after calling SetVirtualSelection the IShellListing.CurrentSelection remains unchanged (Count member is zero and array members are empty arrays), whereas in UIXv1 CurrentSelection would be updated by a SetVirtualSelection call. Not sure whether this is intended or a bug?

So am I using the wrong API call or is the missing preview of multi-file documents a bug or missing feature?