 	import org.shypl.common.lang.ErrorEventException;
 	import org.shypl.common.lang.IllegalStateException;
 	import org.shypl.common.timeline.GlobalTimeline;
+	import org.shypl.common.util.Cancelable;
 	import org.shypl.common.util.progress.AbstractProgress;
 	import org.shypl.common.util.progress.CancelableProgress;
 	

		
		protected final function handleLoadingCompleteEvent(event:Event):void {
			_loading = false;
			FileLoader.LOGGER.trace("Loaded {}", url);
			
			produceResult();
			freeLoading();

			if (_loading || completed) {
				throw new IllegalStateException();
			}
			FileLoader.LOGGER.trace("Load {}", _url);
			attemptLoading();
		}
		
		private function attemptLoading():void {
			_attemptLoadingCall = null;
			++_attempt;
			_loading = true;
			startLoading();
