      - returns: A CollectionBoardGame structure.
      */
     public static func deserialize(node: XMLIndexer) throws -> CollectionBoardGame {
-        guard let objectIdStr = node.element?.attributes["objectid"],
-            let sortIndexStr = node["name"].element?.attributes["sortindex"]
-                else { throw XMLDeserializationError.NodeIsInvalid(node: node)
-        }
-
-        guard let objectId = Int(objectIdStr), let sortIndex = Int(sortIndexStr)
-            else { throw XMLDeserializationError.NodeIsInvalid(node: node)
+        guard node.element != nil && node["name"].element != nil else {
+            throw XMLDeserializationError.NodeIsInvalid(node: node)
         }
 
         return try CollectionBoardGame(
-            objectId: objectId,
+            objectId: node.element!.attribute("objectid"),
             name: node["name"].value(),
-            sortIndex: sortIndex,
+            sortIndex: node["name"].element!.attribute("sortindex"),
             status: node["status"].value(),
             stats: node["stats"].value(),
             yearPublished: node["yearpublished"].value(),

     - returns: A populated GameRank structure
     */
    public static func deserialize(element: XMLElement) throws -> GameRank {
        guard let typeStr = element.attributes["type"],
            let idStr = element.attributes["id"],
            let nameStr = element.attributes["name"],
            let friendlyNameStr = element.attributes["friendlyname"],
            let valueStr = element.attributes["value"],
            let bayesAverageStr = element.attributes["bayesaverage"]
                else {
                    throw XMLDeserializationError.TypeConversionFailed(type: "GameRank", element: element)
        }

        guard let id = Int(idStr), value = Int(valueStr), bayesAverage = Double(bayesAverageStr)
            else {
                throw XMLDeserializationError.TypeConversionFailed(type: "GameRank", element: element)
        }

        return GameRank(
            type: typeStr,
            id: id,
            name: nameStr,
            friendlyName: friendlyNameStr,
            value: value,
            bayesAverage: bayesAverage)
    }
}


     - returns: A CollectionStatus structure.
     */
    public static func deserialize(element: XMLElement) throws -> CollectionStatus {
        return try CollectionStatus(
            owned: element.attribute("own"),
            prevOwned: element.attribute("prevowned"),
            wantToBuy: element.attribute("wanttobuy"),
            wantToPlay: element.attribute("wanttoplay"),
            preOrdered: element.attribute("preordered"),
            wantInTrade: element.attribute("want"),
            forTrade: element.attribute("fortrade"),
            wishList: element.attribute("wishlist"),
            wishListPriority: element.attribute("wishlistpriority"),
            lastModified: element.attribute("lastmodified")
        )
    }
}

