      * @param container  The DisplayObjectContainer containing named
      *                   children to assign to <code>target</code>.
      * @param target  The instance to populate.
+     * @param domain  The ApplicationDomain to use when resolving adapter
+     *                classes. Defaults to the domain where this class is first
+     *                defined.
      *
      * @throws org.yellcorp.lib.display.inject.DisplayPathError
      *         If a child with the default or overridden name could not be


        for each (var metadata:XML in displayMetadata)
        {
            injectProperty(metadata.parent(), metadata, container, target);
        }
    }


    private static function injectProperty(property:XML, metadata:XML,
            source:DisplayObjectContainer, target:*):void
    {
        var args:Object = { name: null, adapter: null, optional: null };


     * @throws org.yellcorp.lib.display.inject.DisplayMetadataError
     *         If a metadata parameter is invalid.
     */
    public static function inject(container:DisplayObjectContainer, target:*, domain:ApplicationDomain = null):void
    {
        if (!domain)
        {
            domain = ApplicationDomain.currentDomain;
        }

        var type:XML = describeType(target);

        var displayMetadata:XMLList = type.*.(
