public function read()
    {
        $old    = libxml_use_internal_errors(true);
        $xml    = simplexml_load_file($this->path);
        $errors = libxml_get_errors();
        libxml_use_internal_errors($old);

        if (count($errors)) {
            throw new \RuntimeException('xml file \''. $this->path . '\': ' . $errors[0]->message);
        }
        return $xml;
    }