      * @param completeCallack the function to call when complete.
      * @param forEach whether to call the completeCallback for each source, or all-at-once at
      * the end. If forEach is used, keys will never be returned.
+     * @param isCompleteCheckFn a function to attempt to call on the dispatcher to see if
+     * it's already complete after generation.
      * @param errorTypes an Array of event types that will be dispatched by the loader.
      * If unspecifed, all the normal error event types are used.
      * @param completeType, the event complete type. If unspecifed @default Event.COMPLETE.
      */
     public function MultiLoader (
         sources :Object, generatorFn :Function, completeCallback :Function,
-        forEach :Boolean = false, errorTypes :Array = null, completeType :String = null)
+        forEach :Boolean = false, isCompleteCheckFn :String = null,
+        errorTypes :Array = null, completeType :String = null)
     {
         if (errorTypes == null) {
             errorTypes = [ ErrorEvent.ERROR, AsyncErrorEvent.ASYNC_ERROR,

            if (!Util.isPlainObject(sources)) {
                // stash the singleton source
                sources = { singleton_key: sources };
            }
        }


        }

        if (!_forEach) {
            checkReport(endCheckKey);
        }
    }

