      *  @private
      */
     public function load(applicationDomain:ApplicationDomain = null,
-                         securityDomain:SecurityDomain = null):void
+                         securityDomain:SecurityDomain = null,
+                         bytes:ByteArray = null):void
     {
         info.resurrect();
 

import flash.system.LoaderContext;
import flash.system.Security;
import flash.system.SecurityDomain;
import flash.utils.Dictionary;
import flash.utils.getDefinitionByName;
import flash.utils.getQualifiedClassName;

            SecurityErrorEvent.SECURITY_ERROR, errorHandler);

        loader.load(r, c);
    }

    /**
     *  @private
     */
    private function loadBytes(applicationDomain:ApplicationDomain, bytes:ByteArray):void
    {
        var c:LoaderContext = new LoaderContext();
        c.applicationDomain =
            applicationDomain ?
            applicationDomain :
            new ApplicationDomain(ApplicationDomain.currentDomain);

        // If the AIR flag is available then set it to true so we can
        // load the module without a security error.
        if ("allowLoadBytesCodeExecution" in c)
            c["allowLoadBytesCodeExecution"] = true;
        
        loader = new Loader();

        loader.contentLoaderInfo.addEventListener(
            Event.INIT, initHandler);
        loader.contentLoaderInfo.addEventListener(
            Event.COMPLETE, completeHandler);
        loader.contentLoaderInfo.addEventListener(
            IOErrorEvent.IO_ERROR, errorHandler);
        loader.contentLoaderInfo.addEventListener(
            SecurityErrorEvent.SECURITY_ERROR, errorHandler);

        loader.loadBytes(bytes, c);
    }

    /**
