private IGeometry BuildGrid()
        {
            var lines = new ILineString[_numLines * 2];
            int index = 0;

            for (int i = 0; i < _numLines; i++)
            {
                Coordinate  p0   = new Coordinate(GetRandOrdinate(), 0);
                Coordinate  p1   = new Coordinate(GetRandOrdinate(), GridWidth);
                ILineString line = _geomFactory.CreateLineString(new [] { p0, p1 });
                lines[index++] = line;
            }

            for (int i = 0; i < _numLines; i++)
            {
                Coordinate  p0   = new Coordinate(0, GetRandOrdinate());
                Coordinate  p1   = new Coordinate(GridWidth, GetRandOrdinate());
                ILineString line = _geomFactory.CreateLineString(new [] { p0, p1 });
                lines[index++] = line;
            }

            IMultiLineString ml = _geomFactory.CreateMultiLineString(lines);

            _grid = ml.Buffer(_lineWidth);
            var wktWriter = new WKTWriter(2)
            {
                Formatted = true, MaxCoordinatesPerLine = 6
            };

            if (Verbose)
            {
                Console.WriteLine(wktWriter.Write(_grid));
            }
            return(_grid);
        }