 
         case .MessageRecord:
 
-            if itemIndex < (isMoreMessagesFold ? Section.maxNumberOfItems : (filteredUserMessages?.count ?? 0)) {
+            if itemIndex < (isMoreMessagesFold ? Section.maxNumberOfItems : countOfFilteredUserMessages) {
                 guard let
                     userMessages = filteredUserMessages?[safe: itemIndex],
                     cell = cell as? SearchedMessageCell else {


        case .MessageRecord:

            if itemIndex < (isMoreMessagesFold ? Section.maxNumberOfItems : (filteredUserMessages?.count ?? 0)) {
                let cell = tableView.dequeueReusableCellWithIdentifier(searchedMessageCellID) as! SearchedMessageCell
                return cell
            } else {

    private var isMoreMessagesFold: Bool = true {
        didSet {
            if isMoreMessagesFold != oldValue {
                let indexPaths = (Section.maxNumberOfItems..<countOfFilteredUserMessages).map({
                    NSIndexPath(forRow: $0, inSection: Section.MessageRecord.rawValue)
                })

