private function generateNewPart()
{
if ($this->buffer) {
$this->closeFeed();
}
$this->bufferSize = 0;
++$this->bufferPart;
if (!is_writable($this->folder)) {
throw new \RuntimeException(sprintf('Unable to write to folder: %s', $this->folder));
}
$this->buffer = fopen(sprintf('%s/feed_%05d.xml', $this->folder, $this->bufferPart), 'w');
$this->bufferSize += fwrite($this->buffer, <<<XML
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE gsafeed PUBLIC "-//Google//DTD GSA Feeds//EN" "{$this->dtd}">
<gsafeed>
<header>
<datasource>{$this->datasource}</datasource>
<feedtype>{$this->feedtype}</feedtype>
</header>
<group>
XML
);
}