public function setWatermarkTmpDir($watermarkTmpDir) 
    {
        $watermarkTmpDirCopy = $watermarkTmpDir;
        $watermarkTmpDir = realpath($watermarkTmpDir);
        
        // If the provided tmpDir is empty throw exception
        if (empty($watermarkTmpDir)) {
            throw new \RuntimeException("Watermark directory is empty. This can be due to the provided directory '" . $watermarkTmpDirCopy . "' not exists, please check.");
        }
        
        // Adding the trailing slash
        $watermarkTmpDir = substr($watermarkTmpDir, -1) == DIRECTORY_SEPARATOR ?
            $watermarkTmpDir : $watermarkTmpDir . DIRECTORY_SEPARATOR;
         
        $this->watermarkTmpDir = $watermarkTmpDir;
        
        return $this;
    }