 		 * created with a deferred creationPolicy or programmatically as the
 		 * result of an application state change, etc. The component
 		 * resolver supports all these cases.
-		 */		
+		 */
 		override public function registerMediator(mediator:IMediator):IMediator {
 			var registrar:MediatorRegistrar = new MediatorRegistrar(fabFacade);
 			var mediatorComponent:Object = mediator.getViewComponent();
-			
+
 			if (mediatorComponent is Expression) {
 				var expression:Expression = mediatorComponent as Expression;
 				var resolver:ComponentResolver = expression.root;
 				var flexMediator:FlexMediator = mediator as FlexMediator;
-	
+
 				registrar.addEventListener(MediatorRegistrarEvent.REGISTRATION_COMPLETED, registrationCompletedListener);
 				registrar.addEventListener(MediatorRegistrarEvent.REGISTRATION_CANCELED, registrationCanceledListener);
-				
+
 				registrars.push(registrar);
 				registrar.register(flexMediator, resolver);
 			} else {
 				super.registerMediator(mediator);
 			}
-			
+
 			return mediator;
 		}
 

	import org.puremvc.as3.multicore.utilities.fabrication.patterns.mediator.resolver.Expression;
	import org.puremvc.as3.multicore.utilities.fabrication.patterns.mediator.resolver.MediatorRegistrar;
	import org.puremvc.as3.multicore.utilities.fabrication.utils.CloneUtils;

    use namespace fabrication_internal;

	import mx.core.UIComponent;
	
	import flash.utils.describeType;
	import flash.utils.getQualifiedClassName;	

	/**
	 * FlexMediator is the base mediator class for all Flex based application
	 * mediators. It provides automatic component resolution using the 
	 * flex component resolver. 
	 * 
	 * @author Darshan Sawardekar, Rafał Szemraj
	 */
	public class FlexMediator extends FabricationMediator implements ICloneable {

 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.puremvc.as3.multicore.utilities.fabrication.patterns.mediator {
    import mx.events.StateChangeEvent;

