* Handle scenario with only primary desktop and no desktop swithc in current session.
* Add scoped lock when changing current desktop id. Address PR comments.
* Explain purpose of UpdatePrimaryDesktopData method.
* Fix typo in documentation.
* Compare window desktop id with currently active work area desktop id.
* Improve error handling and conform to coding guidelines.
* Move virtual desktop helper functions to ZoneWindowUtils namespace.
* Ensure thread safety when creating instance of VirtualDesktopManager.
* Remove static qualifier from ServiceProvider.
* Return instead of break, as there is no need to check for other monitors, virtual desktop is the same for all.
* Move virtual desktop related helper functions to separate files.
* Skip comparing desktop ids if zone window has empty GUID for desktop id.
* Add comment describion scenario for which we need this fix.