/// <summary>
 /// Handles the OpenSession message from the server.
 /// </summary>
 /// <param name="header">The message header.</param>
 /// <param name="openSession">The OpenSession message.</param>
 protected virtual void HandleOpenSession(IMessageHeader header, OpenSession openSession)
 {
     SupportedProtocols = openSession.SupportedProtocols.Cast <ISupportedProtocol>().ToList();
     ServerObjects      = openSession.SupportedObjects;
     Session.SessionId  = openSession.SessionId;
     Notify(OnOpenSession, header, openSession);
     Session.OnSessionOpened(RequestedProtocols, SupportedProtocols);
 }