 				}
 				for (; _boundsArrayIndex < _boundsArray.length; _boundsArrayIndex++) // iterate on nested array
 				{
+					if (_restarted)
+						return 0;
 					if (getTimer() > stopTime)
 						return _keysArrayIndex / _keysArray.length;
 					

		private var callbacks:ICallbackCollection;
		
		private var _kdTree:KDTree = new KDTree(5);
		private var _prevTriggerCounter:uint = 0; // used by iterative tasks & clear()
		private const _keysArray:Array = []; // of IQualifiedKey
		private var _keyToBoundsMap:Dictionary = new Dictionary(); // IQualifiedKey -> Array of IBounds2D
		private var _keyToGeometriesMap:Dictionary = new Dictionary(); // IQualifiedKey -> Array of GeneralizedGeometry or ISimpleGeometry
		
		private var _queryMissingBounds:Boolean; // used by async code
		private var _keysArrayIndex:int; // used by async code
		private var _keysIndex:int; // used by async code

				// all done with nested array
				_boundsArray = null;
			}
			
			return _restarted ? 0 : 1;
		}
		
		/**
