protected MessageListener(String source, IProcessMessages messageProcessor, IReadMessages messageReader) { Verify.NotNull(messageProcessor, "messageProcessor"); Verify.NotNull(messageReader, "messageReader"); Verify.NotWhitespace(source, "source"); this.messageProcessor = messageProcessor; this.messageReader = messageReader; listener = new Thread(ReadAllMessages) { IsBackground = true, Priority = ThreadPriority.AboveNormal, Name = source, }; }