     func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool {
 
         let locationInTextView = gestureRecognizer.location(in: textView)
-        // check if we have an attachment in the position we tapped
         guard textView.attachmentAtPoint(locationInTextView) != nil else {
-            // if we have a current selected attachment let's notify of deselection
             if let selectedAttachment = currentSelectedAttachment {
                 textView.textAttachmentDelegate?.textView(textView, deselected: selectedAttachment, atPosition: locationInTextView)
             }

                || PreFormatter().present(in: typingAttributes))
    }

    /// Removes the Paragraph Attributes [Blockquote, Pre, Lists] at the specified range. If the range
    /// is beyond the storage's contents, the typingAttributes will be modified
    ///
    func removeTextListAttributes(at range: NSRange) {
        let formatters: [AttributeFormatter] = [
            BlockquoteFormatter(),
            PreFormatter(),
            TextListFormatter(style: .ordered),
            TextListFormatter(style: .unordered)
        ]

        for formatter in formatters where formatter.present(in: super.typingAttributes) {
            typingAttributes = formatter.remove(from: typingAttributes)

            let applicationRange = formatter.applicationRange(for: selectedRange, in: textStorage)
            formatter.removeAttributes(from: textStorage, at: applicationRange)
        }
    }

    // MARK: - Remove paragraph styles when pressing backspace and removing the last character

    /// Removes paragraph attributes after pressing backspace, if the resulting document is empty.
    ///

        }
    }

    // MARK: - WORKAROUND: Removing paragraph styles when pressing enter in an empty paragraph

    /// Removes paragraph attributes after pressing enter in an empty paragraph.
    ///
    /// - Parameter input: the user's input.  This method must be called before the input is processed.
    ///
    func ensureRemovalOfParagraphAttributesWhenPressingEnterInAnEmptyParagraph(input: String) -> Bool {
        guard mustRemoveParagraphAttributesWhenPressingEnterInAnEmptyParagraph(input: input) else {
