public ITcpServerSocketModel RemoveLocalChannel(IChannel channel)
 {
     return(new ImmutableTcpServerSocketModel(Self, BoundAddress, RemoteClients, LastReceivedMessages,
                                              WrittenMessages, LocalChannels.Where(x => !x.Id.Equals(channel.Id)).ToList()));
 }
 public ITcpServerSocketModel AddLocalChannel(IChannel channel)
 {
     return(new ImmutableTcpServerSocketModel(Self, BoundAddress, RemoteClients, LastReceivedMessages,
                                              WrittenMessages, LocalChannels.Concat(new[] { channel }).ToList()));
 }