public PairedState(ClientSession session, ClientTagVisualization visualization)
     : base(session)
 {
     this.Visualization = visualization;
 }
 public void RemoveClient(ClientSession clientSession)
 {
     if (_clients.Contains(clientSession))
     {
         _clients.Remove(clientSession);
     }
 }
 public void AddClient(ClientSession clientSession)
 {
     _clients.Add(clientSession);
 }
 /// <summary>
 /// Method called by PairingState when a match is found. The ClientSession that the correct Pincode was
 /// recieved from is passed along.
 /// </summary>
 /// <param name="socket"></param>
 internal void AssociateClient(ClientSession clientSession)
 {
     Debug.WriteLineIf(DebugSettings.DEBUG_COMMUNICATION, "ClientStateTagVisualization.AssociateClientIdentity(ClientSession)");
     this.ClientSession = clientSession;
     this.ClientSession.Tag = this.VisualizedTag;
     this.ClientSession.ClientId.PersonalizedView = this;
     Debug.WriteLineIf(DebugSettings.DEBUG_EVENTS, "Rasing IdentifiedPersonArrivedEvent");
     this.Dispatcher.Invoke((Action)delegate()
     {
         this.Visualizer.RaiseEvent(new RoutedIdentifiedEventArgs(IdentifiedEvents.IdentifiedPersonArrivedEvent, clientSession.ClientId, this));
     });
     UpdateUI();
 }