 }
 
 var attributeMapKey: Void?
-var comparisonMapKey: Void
+var comparisonMapKey: Void?
 
 internal extension NSManagedObjectModel {
     private var attributeEntityDescriptions: [String: NSManagedObject] {

            return associatedValueOrDefault(&comparisonMapKey, defaultValue: [:])
        }
        set {
            objc_setAssociatedObject(self, &comparisonMapKey, newValue, objc_AssociationPolicy.OBJC_ASSOCIATION_RETAIN_NONATOMIC)
        }
    }
}

    }
}

var relationshipMapKey: Void?

internal extension NSEntityDescription {
    private var relationshipObjects: [String: NSManagedObject] {
        get {
            return associatedValueOrDefault(&relationshipMapKey, defaultValue: [:])
        }
        set {
            objc_setAssociatedObject(self, &relationshipMapKey, newValue, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
        }
    }
    
    func attributeEntityDescription() -> NSEntityDescription {
        let entityDescription = NSEntityDescription()
        entityDescription.name = name! + "Attribute"
