if (weights == null) {
destination.addAll(zset);
} else {
double weight = weights[i - 2];
for (ZSetEntry entry : zset) {
<BUG>destination.add(new ZSetEntry(entry.getValue(), entry.getScore() * weight));
}</BUG>
}
} else {
<BUG>BytesKeyZSet iterable = new BytesKeyZSet(destination);
for (ZSetEntry entry : iterable) {</BUG>
BytesKey key = entry.getValue();

if (weights == null) {
destination.addAll(zset);
} else {
double weight = weights[i - 2];
for (ZSetEntry entry : zset) {
destination.add(entry.getValue(), entry.getScore() * weight);
}
}
} else {
ZSet iterable = new ZSet(destination);
for (ZSetEntry entry : iterable) {
BytesKey key = entry.getValue();
