V get(final long key) {
        if (size == 0)
            return null;
        if (key < this.key)
            return left.get(key - this.key);
        if (key > this.key)
            return right.get(key - this.key);
        // otherwise key==this.key:
        return value;
    }