### Question:
RedisStore implements Store { @Override public List<Message> dequeueOut(String id, int offset) { Validate.notNull(id); Validate.isTrue(offset >= 0); Validate.validState(!closed, "Store closed"); Address clientAddr = Address.of(prefix, id); List<byte[]> ret = retry(() -> { Validate.validState(!closed, "Store closed"); try (Connection connection = connector.getConnection()) { QueueDetails queueDetails = new QueueDetails(clientAddr, timeout); OutQueue outQueue = new OutQueue(connection, queueDetails); return outQueue.dequeueOut(id, offset); } }); return ret.stream() .map(d -> (Message) serializer.deserialize(d)) .collect(toList()); } private  RedisStore(String prefix, Connector connector, long timeout); static RedisStore create(String prefix, String host, int port); static RedisStore create(String prefix, String host, int port, int cacheCount, long timeout); static RedisStore create(String prefix, Connector connector, long timeout); @Override void queueOut(String id, List<Message> messages); @Override List<Message> dequeueOut(String id, int offset); @Override void queueIn(String id, int offset, List<Message> messages); @Override List<Message> dequeueIn(String id); @Override void close();  }### Answer:
@Test public void mustReturnEmptyListWhenDequeueOutOnIdThatDoesntExist() { List<Message> actual = fixture.dequeueOut("id", 0); assertTrue(actual.isEmpty()); }