code: func (iter *Iterator) Last() bool {
  	// Seek the limit key if the iterator was created with one.  This will
  	// result in the first key smaller than the limit key, or an exhausted
  	// iterator if no such key exists.
  	iter.isNew = false
  	if iter.limitKey != nil {
  		return iter.seek(iter.limitKey, false, false)
  	}
  
  	// The highest key is in the right-most node.
  	iter.parents = parentStack{}
  	for node := iter.root; node != nil; node = node.right {
  		if node.right == nil {
  			iter.node = node
  			return true
  		}
  		iter.parents.Push(node)
  	}
  	return false
  }
docs: // Last moves the iterator to the last key/value pair.  When there is only a
  // single key/value pair both First and Last will point to the same pair.
  // Returns false if there are no key/value pairs.