 				{
 					//trace(key.keyType,key.localName,'(',_keysArrayIndex,'/',_keysArray.length,')');
 					// begin outer loop iteration
-					_boundsArray = getBoundsFromKey(key);
+					_boundsArray = _keyToBoundsMap[key];
 					
 					if (!_boundsArray)
 						continue;

						var genGeomIsPoint:Boolean = genGeom.isPoint();
						var simplifiedGeom:Vector.<Vector.<BLGNode>> = genGeom.getSimplifiedGeometry(minImportance, dataBounds);
						
						if (/*simplifiedGeom.length == 0 && */genGeom.bounds.overlaps(queryBounds))
						{
							result.push(key);
							continue;

			var queryGeomVertices:Array = geometry.getVertices();
			var keys:Array = getKeysBoundingBoxOverlap((geometry as SimpleGeometry).bounds, filterBoundingBoxesByImportance ? minImportance : 0);
			
			var geomEnabled:Boolean = _keyToGeometriesMap && Weave.properties.enableGeometryProbing.value;
			
			var result:Array = [];
			
