 package com.threerings.util {
 
 import flash.net.ObjectEncoding;
+
+import flash.geom.Point;
+import flash.geom.Rectangle;
 
 import flash.system.ApplicationDomain;
 

            if (type == "number" || type == "string" || type == "boolean" ) {
                return null; // kosher!
            }
            if (value is ByteArray) {
                return null; // kosher
            }
            var clazz :Class = ClassUtil.getClass(value);
            var clazzparentname :String = getQualifiedSuperclassName(clazz);
            var rootclass :Boolean = (clazzparentname == null);
            if (! rootclass) {
                return "Non-simple properties may not be set.";
            }
            // fall through and verify the object's sub-properties
        }

        // check sub-properties (of arrays and objects)


        return null; // it all checks out!
    }

    /** Non-simple classes that we allow, as long as they are not subclassed. */
    protected static const VALID_CLASSES :Array = [ ByteArray, Point, Rectangle ];
}
}
