public E first() {
    Set<E> members = boundZSetOps.range(0, 0);
    checkResult(members);
    Iterator<E> iterator = members.iterator();

    if (iterator.hasNext()) return iterator.next();
    throw new NoSuchElementException();
  }
 public Iterator<E> iterator() {
   Set<E> members = boundZSetOps.range(0, -1);
   checkResult(members);
   return new DefaultRedisSortedSetIterator(members.iterator());
 }
 public Set<E> range(long start, long end) {
   return boundZSetOps.range(start, end);
 }