public function setPrefix($prefix)
    {
        if (is_string($prefix) === false) {
            $msg = "The prefix argument must be a string.";
            throw new InvalidArgumentException($msg);
        } elseif ($prefix === '') {
            $msg = "The prefix argument must be a non-empty string.";
            throw new InvalidArgumentException($msg);
        } else {
            $this->prefix = $prefix;
        }
    }