public static Storyboard Parse(TextReader textReader, Dictionary <string, Trophy>?trophies) { using var reader = XmlReader.Create(textReader); var parser = new StoryboardParser(reader, trophies); reader.MoveToContent(); if (reader.LocalName != Storyboard) { throw new StoryboardParsingException(reader, $"Elemento '{Storyboard}' não encontrado."); } while (reader.Read()) { if (reader.NodeType == XmlNodeType.Element) { parser.HandleStartElement(); } else if (reader.NodeType == XmlNodeType.EndElement) { parser.HandleEndElement(); } } return(parser.storyboard); }