         private static const directions:Array = [ITSELF, N, NE, E, SE, S, SW, W, NW];
 
         private static const COLUMN_HEADER_RECTANGLES:String = "columnHeaderRectangles";
+        private static const COLUMN_RECTANGLES:String = "columnRectangles";
         private static const ENTIRE_HEADER_RECTANGLE:String = "headerRectangle"; //includes padding
         private static const MAIN_HEADER_VIEW_RECTANGLE:String = "mainHeaderViewRectangle";
         private static const FIXED_HEADER_VIEW_RECTANGLE:String = "fixedHeaderViewRectangle";

            {
            assertThatHeaderContainsPointOrNot(point, pointName, currentTransformation);
            assertThatHeaderIndexIsCorrect(point, pointName, currentTransformation);
            assertThatCoordinatesOverHeaderViewOrNot(point, pointName, currentTransformation);
        }


            assertEquals(errorMessageHeaderIndex, expectedHeaderIndex, actualHeaderIndex);
        }

        private function assertThatColumnIndexIsCorrect(point:Point, pointName:String, currentTransformation:Matrix):void
        {
            //when
            var expectedColumnIndex:int = getColumnIndexAssumption(point);
            var actualColumnIndex:int = getColumnIndexAtGlobalPoint(point);
            const errorMessageColumnIndex:String = getColumnIndexErrorMessage(pointName, currentTransformation, point, expectedColumnIndex, actualColumnIndex);

            //then
            assertEquals(errorMessageColumnIndex, expectedColumnIndex, actualColumnIndex);
        }

        private function getHeaderIndexErrorMessage(pointName:String, direction:Matrix, transformedPoint:Point, expectedColumnHeaderIndex:int, actualColumnHeaderIndex:int):String
        {
            return "The point " + pointName + " transformed with Matrix " + direction + " (resulting in " + transformedPoint + ") should be "
