public void PaintSelectionBorder(Graphics aGraphics, HeapCellMetaData aMetaData, HeapCell aCell, uint aAddress, Point aPosition, Size aBoxSize, Size aPaddingSize, THeapSelectionBorderType aType)
        {
            float   width;
            Color   color = GetBorderProperties(aType, out width);
            SymRect rect  = new SymRect(aPosition, aBoxSize + aPaddingSize);

            if (aMetaData.Borders[THeapCellBorderType.ELeft])     // Draw left-hand outline
            {
                PaintCellBorder(aGraphics, aMetaData, rect.TopLeft, rect.BottomLeft, aAddress, aCell, width, color, THeapCellBorderType.ELeft);
            }
            if (aMetaData.Borders[THeapCellBorderType.ETop])       // Draw top-side outline
            {
                PaintCellBorder(aGraphics, aMetaData, rect.TopLeft, rect.TopRight, aAddress, aCell, width, color, THeapCellBorderType.ETop);
            }
            if (aMetaData.Borders[THeapCellBorderType.ERight])       // Draw right-hand outline
            {
                PaintCellBorder(aGraphics, aMetaData, rect.TopRight, rect.BottomRight, aAddress, aCell, width, color, THeapCellBorderType.ERight);
            }
            if (aMetaData.Borders[THeapCellBorderType.EBottom])       // Draw bottom-side outline
            {
                PaintCellBorder(aGraphics, aMetaData, rect.BottomLeft, rect.BottomRight, aAddress, aCell, width, color, THeapCellBorderType.EBottom);
            }
        }