Switches to a new session, deactivating the current one and activating the new one.
When switching to EmptySession, preserves model and tool states from the previous session. Loads the session if needed (e.g., for SessionPlaceholder).
| session |
The session to switch to |
| Error |
if loading fails |