public function floor($key)
    {
        if ($this->root) {
            $floor = $this->root->find($key, $this->comparator, -1);
        } else {
            $floor = null;
        }

        if ($floor) {
            return $floor;
        } else {
            throw new \OutOfBoundsException('Floor element unexisting');
        }
    }