 
 extension ChatMessagesViewController: ChatMessageCollectionAdapterDelegate {
     public var isFirstLoad: Bool { self.isFirstLayout }
-
-    public func chatMessageCollectionAdapter(_: ChatMessageCollectionAdapterProtocol, onDisplayCellWithIndexPath indexPath: IndexPath) {
-        self.delegate?.chatMessagesViewController(self, onDisplayCellWithIndexPath: indexPath)
-    }
 
     public func chatMessageCollectionAdapterShouldAnimateCellOnDisplay(_ : ChatMessageCollectionAdapterProtocol) -> Bool {
         return self.delegate?.chatMessagesViewControllerShouldAnimateCellOnDisplay(self) ?? false

            willDisplay: cell,
            forItemAt: indexPath
        )
    }

    public override func collectionView(_ collectionView: UICollectionView,

    }
}

// Proxy
public extension ChatMessagesViewController {
    func indexPath(of itemId: String) -> IndexPath? {
        return self.messagesAdapter.indexPath(of: itemId)
    }

    func refreshContent(completionBlock: (() -> Void)? = nil) {
        self.messagesAdapter.refreshContent(completionBlock: completionBlock)
    }

    func scrollToBottom(animated: Bool) {
        self.collectionView.scrollToBottom(
            animated: animated,
            animationDuration: self.style.updatesAnimationDuration
        )
    }
}

extension ChatMessagesViewController {
    public override func collectionView(_ collectionView: UICollectionView,
                                        didEndDisplaying cell: UICollectionViewCell,
