### Question:
Pipe implements ReadPipe<T>, WritePipe<T> { @Override public T get() { try { while (hasMore()) { final T value = queue.poll(1, TimeUnit.SECONDS); if (value != null) { outputCounter.inc(); return value; } } } catch (final InterruptedException e) { LOG.trace("Interrupted while waiting for next item", e); } return null; } Pipe(
      final int capacity,
      final Counter inputCounter,
      final Counter outputCounter,
      final Counter abortedItemCounter); @Override boolean isOpen(); @Override boolean isAborted(); @Override boolean hasRemainingCapacity(); @Override void close(); @Override void abort(); @Override boolean hasMore(); @Override T get(); @Override T poll(); @Override void drainTo(final Collection<T> output, final int maxElements); @Override void put(final T value);  }### Answer:
@Test public void shouldReturnNullFromGetImmediatelyIfThreadIsInterrupted() { Thread.currentThread().interrupt(); assertThat(pipe.get()).isNull(); }