Merge change 3506 into donut

* changes:
  Revamp IRestoreSession a bit