     // Override Inits
     public override init() {
         super.init()
-        self._updateBorderLayer()
+        self._createOrDestroyBorderLayer()
         self._updateLineLayers()
         self._sizeFrame()
     }

        set(newBorderIsShown) {
            guard newBorderIsShown != self.__borderIsShown else { return }
            self.__borderIsShown = newBorderIsShown
            self._updateBorderLayer()
        }
    }
    

    fileprivate var __gridLineWidth: CGFloat = 1
    fileprivate var __borderDashPattern: [NSNumber] = []
    fileprivate var __gridDashPattern: [NSNumber] = []
    fileprivate var __borderEdgeInsets: UIEdgeInsets = UIEdgeInsets(top: 10, left: 10, bottom: 10, right: 10)
    fileprivate var __gridInsetFactor: CGFloat = 0.6
    fileprivate var __gridLineOverlapFactor: CGFloat = 0.4
    
