MessageQueue implements MessageSender<T>, MessageReceiver<T> { @Override public void send(T message) { queue.add(message); }  @Override void send(T message); @Override T take(); @Nullable @Override T poll();  }
@Test public void send_does_not_change_the_interrupt_status_of_the_current_thread() { Thread.currentThread().interrupt(); messageQueue.send("any message"); assertThat("interrupt status after send", Thread.currentThread().isInterrupted(), is(true)); }