                     if drawCircleHole
                     {
                         context.setFillColor(dataSet.circleHoleColor!.cgColor)
-                     
+                        
+                        if let curHighlights = curHighlights {
+                            for high in curHighlights {
+                                if let set = lineData.getDataSetByIndex(high.dataSetIndex) as? LineChartDataSet
+                                    , set.isHighlightEnabled {
+                                    
+                                    if let hightE = set.entryForXValue(high.x, closestToY: high.y), isInBoundsX(entry: hightE, dataSet: set) {
+                                        if hightE.isEqual(e) { context.setFillColor(set.highlightHollowFillColor.cgColor)
+                                        }
+                                    }
+                                }
+                            }
+                        }
+                        
                         // The hole rect
                         rect.origin.x = pt.x - circleHoleRadius
                         rect.origin.y = pt.y - circleHoleRadius

            let dataProvider = dataProvider,
            let lineData = dataProvider.lineData
            else { return }
        
        let chartXMax = dataProvider.chartXMax
        

            for j in stride(from: _xBounds.min, through: _xBounds.range + _xBounds.min, by: 1)
            {
                guard let e = dataSet.entryForIndex(j) else { break }
                
                pt.x = CGFloat(e.x)
                pt.y = CGFloat(e.y * phaseY)
                pt = pt.applying(valueToPixelMatrix)
