public function build()
    {
        if (!$this->hasCorrectStructure()) {
            throw (new IncorrectFeedStructureException)->setProperties($this->getMissingProperties());
        }

        return $this
            ->filterProperties() + ['version' => $this->getVersion(), 'items' => $this->buildItems()];
    }