public void Parse(IEnumerable <XElement> terrainList) { foreach (XElement element in terrainList) { Rectangle position = ParsePosition(element); CollisionType collisionType = ParseCollisionType(element); XAttribute attribute = element.Attribute(GenericParser.typeAttr); string message = ParseMessage(element); if (attribute != null && (typeMap[((string)attribute)] is Sandstone)) { TerrainList.Add(new Sandstone(position, SpriteFactory.GetSandstoneSprite(), collisionType, message)); } } }