message: Fix swallowed errors in MaterialParser.
  If `ChunkContainer::parse` failed, then `MaterialParser::parse` was
  returning SUCCESS.
diff: @@ -96,17 +96,20 @@ ChunkContainer const& MaterialParser::getChunkContainer() const noexcept {
  MaterialParser::ParseResult MaterialParser::parse() noexcept {
  ChunkContainer& cc = getChunkContainer();
  - if (cc.parse()) {
  - if (!cc.hasChunk(mImpl.mMaterialTag) || !cc.hasChunk(mImpl.mDictionaryTag)) {
  + if (UTILS_UNLIKELY(!cc.parse())) {
  + return ParseResult::ERROR_OTHER;
  + }
  + const ChunkType matTag = mImpl.mMaterialTag;
  + const ChunkType dictTag = mImpl.mDictionaryTag;
  + if (UTILS_UNLIKELY(!cc.hasChunk(matTag) || !cc.hasChunk(dictTag))) {
  return ParseResult::ERROR_MISSING_BACKEND;
  }
  - if (!DictionaryReader::unflatten(cc, mImpl.mDictionaryTag, mImpl.mBlobDictionary)) {
  + if (UTILS_UNLIKELY(!DictionaryReader::unflatten(cc, dictTag, mImpl.mBlobDictionary))) {
  return ParseResult::ERROR_OTHER;
  }
  - if (!mImpl.mMaterialChunk.initialize(mImpl.mMaterialTag)) {
  + if (UTILS_UNLIKELY(!mImpl.mMaterialChunk.initialize(matTag))) {
  return ParseResult::ERROR_OTHER;
  }
  - }
  return ParseResult::SUCCESS;
  }
  