public function mergeDocuments(array $sourceFiles = array())
    {
        $mergedFileName = $this->getFileName();
        //check whether files are set or not
        if ($mergedFileName == '')
            throw new Exception('Output file not specified');
        if (empty($sourceFiles))
            throw new Exception('File to merge are not specified');
        if (count($sourceFiles) < 2)
            throw new Exception('Two or more files are requred to merge');


        //Build JSON to post
        $documentsList = array('List' => $sourceFiles);
        $json = json_encode($documentsList);

        $strURI = Product::$baseProductUri . '/pdf/' . $mergedFileName . '/merge';

        //sign URI
        $signedURI = Utils::sign($strURI);

        $responseStream = json_decode(Utils::processCommand($signedURI, 'PUT', 'json', $json));

        if ($responseStream->Code == 200)
            return true;
        else
            return false;
    }