 						}
 						else if (simpleGeomIsLine) // if a line, check for bounds intersect line
 						{
-							if (ComputationalGeometryUtils.polygonOverlapsLine(
-								_tempBoundsPolygon, /* polygon */ 
-								vertices[0].x, vertices[0].y, /* point A on AB */
-								vertices[1].x, vertices[1].y /* point B on AB */ ))
+							if (polygonOverlapsPolyLine(_tempBoundsPolygon, vertices))
 							{
 								result.push(key);
 								continue keyLoop;

						}
						else
						{
							if (ComputationalGeometryUtils.polygonOverlapsPoint(_tempBoundsPolygon, vertices[0].x, vertices[0].y))
							{
								result.push(key);
								continue keyLoop;

								}
								else if (simpleGeomIsPoint)
								{
									distanceSq = getMinimumUnscaledDistanceFromPolyPoint(vertices, xQueryCenter, yQueryCenter);
									if (distanceSq <= Number.MIN_VALUE)
										overlapsQueryCenter = true;
									else 
