public function setAdaptive($adaptive)
    {
        if (is_bool($adaptive)) {
            $this->adaptive = $adaptive;
        } else {
            $msg = "The adaptive argument must be a boolean, '" . gettype($adaptive) . "' given.";
            throw new InvalidArgumentException($msg);
        }
    }