 				// make the request and add handler function that will load the content
 				var customAsyncToken:CustomAsyncToken = getURL(null, request, DATA_FORMAT_BINARY) as CustomAsyncToken;
 				loader = customAsyncToken.loader as CustomURLLoader;
+				if (!loader)
+					reportError('URLLoader missing from CustomAsyncToken', null, customAsyncToken);
 				addAsyncResponder(customAsyncToken, handleGetContentResult, handleGetContentFault, request.url);
 				_requestURLToLoader[request.url] = loader;
 			}

				_contentCache[url] = result;
				delete _requestURLToLoader[url];
				// run the responders from ContentRequestTokens that were not called before
				var responders:Array = customURLLoader.asyncToken.responders;
				var contentResultEvent:ResultEvent = ResultEvent.createEvent(result);
				for (var i:int = 0; i < responders.length; i++)
				{

		 */
		private function handleGetContentResult(resultEvent:ResultEvent, url:String):void
		{
			var customURLLoader:CustomURLLoader = _requestURLToLoader[url] as CustomURLLoader;
			if (!customURLLoader)
				reportError('URLLoader missing in handleGetContentResult() for ' + url);
			
			var bytes:ByteArray = resultEvent.result as ByteArray;
			if (!bytes || bytes.length == 0)
			{
				var fault:Fault = new Fault("Error", "HTTP GET failed: Content is null from " + url);
				delete _requestURLToLoader[url];
				if (customURLLoader)
					customURLLoader.applyFault(fault);
				else
					reportError('Content is null and URLLoader is missing in handleGetContentResult() for ' + url);
				return;
			}

