     func createPropertyForKeyNode(keyNode:Node) -> Property {
         assert(context != nil, "No GraphContext available")
         
-        var property = Property(graphElement: self, keyNode: keyNode)
+        let property = Property(graphElement: self, keyNode: keyNode)
         
         context!.registerProperty(property)
         addProperty (property)

        //assert(context != nil, "No GraphContext available")
        assert(property.uid != nil, "KeyNode without a uid")
        
        var lastProperty = propertiesArray.last
        
        if (lastProperty != nil) {
            // it seems this element has already one or more properties

            
        _propertiesDictionary!.removeValueForKey(property.keyNodeID)
        
        //let index = find(_propertiesArray!, property) // init propertiesArray in worst case
        let index = _propertiesArray!.indexOf(property)
        if let index = index {
             _propertiesArray!.removeAtIndex(index)
        }
    }
    
    
    public func deletePropertyForKey(keyNode:Node) {
        if (context != nil) {
            let property = propertyForKey(keyNode)
            if (property != nil) {
                //var data = property.data
                deleteProperty(property!)
