override public func disconnect(becauseOf error: Error? = nil) {
        super.disconnect(becauseOf: error)

        _shouldConnect = false
        pendingCount = 0