@Override
public void complete(int depth) {
if (depth == 1) {
Command<K, V, ?> cmd = queue.remove();
CommandOutput<K, V, ?> o = cmd.getOutput();
output.add(!o.hasError() ? o.get() : new RedisException(o.getError()));
cmd.complete();
} else if (depth == 0 && !queue.isEmpty()) {
for (Command<K, V, ?> cmd : queue) {
cmd.complete();
}