             value = existing;
         }
         
-        // are we just being asked to point at something?
-        if ((result[propName] is IXObjHref) && !(value is IXObjHref))
-            (result[propName] as IXObjHref).href = getIDProperty(value);
-        else
-            result[propName] = value;
+        try
+        {
+            // are we just being asked to point at something?
+            if ((result[propName] is IXObjHref) && !(value is IXObjHref))
+                (result[propName] as IXObjHref).href = getIDProperty(value);
+            else
+                result[propName] = value;
+        }
+        catch (e:ReferenceError)
+        {
+            //throw new Error("Failed to set property "+propName+"("+value+") on "+ XObjUtils.getClassName(result)+". Check that class is dynamic or property name is spelled correctly");
+            trace("Failed to set property "+propName+"("+value+") on "+ XObjUtils.getClassName(result)+". Check that class is dynamic or property name is spelled correctly");
+        }
         
         return result;
     }

        {
            if (isArray && (result as Array).length > 0)
            {
                /**TRACEDISABLE:trace("flushing array");*/
                (result as Array).splice(0);
            }
            else if (isCollection && (result as IList).length > 0)
            {
                /**TRACEDISABLE:trace("flushing collection");*/
                (result as IList).removeAll();
            }
        }

                catch (e:Error)
                {
                    //throw new Error("Failed to set attribute "+attrName+"("+attr+") on "+resultTypeName+". Check that class is dynamic or attribute name is spelled correctly");
                    trace("Failed to set attribute "+attrName+"("+attr+") on "+resultTypeName+". Check that class is dynamic or attribute name is spelled correctly");
                }
            }
            
