     }
     
     
+    
     // MARK: Private Methods
     
     /// Calculate and cache line ranges up to the line that contains the given character index, if it has not already done so.

    /// Because this method count up all the line ranges up to the given index when not cached yet,
    /// there is a large perormance disadbantage when just a single line range is needed.
    ///
    /// - Parameter index: The character index.
    /// - Returns: The characer range of the line.
    func lineRange(at index: Int) -> NSRange {
        

    /// Because this method count up all the line ranges up to the given index when not cached yet,
    /// there is a large perormance disadbantage when just a single line start index is needed.
    ///
    /// - Parameter index: The index of character for finding the line start.
    /// - Returns: The character index of the nearest line start.
    func lineStartIndex(at index: Int) -> Int {
        
