public boolean overlaps(QuadTreeBounds rect) {
		
		// For overlap to occur, at least 1 corner of rect is inside our bounds		
		if(contains(rect.left, rect.bottom)) return true; // bottom left
		if(contains(rect.left, rect.top)) return true; // top left
		if(contains(rect.right, rect.bottom)) return true; // bottom right
		if(contains(rect.right, rect.top)) return true; // top right
		
		// OR at least 1 of our corners is inside rect
		if(rect.contains(left, bottom)) return true; // bottom left
		if(rect.contains(left, top)) return true; // top left
		if(rect.contains(right, bottom)) return true; // bottom right
		if(rect.contains(right, top)) return true; // top right
		
		// Otherwise there is no overlap
		return false;
		
	}