protected function instantiate()
    {
        $oOptions = new Options();
        $aOptions = [];

        //  Default options
        foreach (self::DEFAULT_OPTIONS as $sOption => $mValue) {
            $aOptions[$sOption] = $mValue;
        }

        //  Custom options override default options
        foreach ($this->aCustomOptions as $sOption => $mValue) {
            $aOptions[$sOption] = $mValue;
        }

        //  Set the options
        foreach ($aOptions as $sOption => $mValue) {
            $oOptions->set($sOption, $mValue);
        }

        $this->oDomPdf = new Dompdf($oOptions);
        $this->setPaperSize($this->sPaperSize, $this->sPaperOrientation);

        return $this;
    }