         
         return self.execute(command: ConnectionHandshakeCommand(application: app, collection: commandCollection)).map { reply in
             self.handshakeResult = reply
-            
             
             self.clientConnectionSerializer.supportsOpMessage = reply.maxWireVersion >= 6
             

                
                let bsonObjectsSectionSize = Int(size) - 4 - documentSequenceIdentifier.utf8.count - 1
                guard bsonObjectsSectionSize > 0 else {
                    throw MongoKittenError(.protocolParsingError, reason: .unexpectedValue)
                }
                
                documents += try [Document](buffer: &buffer, consumeBytes: bsonObjectsSectionSize)
            default:
                throw MongoKittenError(.protocolParsingError, reason: .unexpectedValue)
            }
        }

        
        self.context.queries[command.requestID] = command.promise
        
        return self.channel.writeAndFlush(command).then { promise.futureResult }
    }
    
    /// Executes the given MongoDB command, returning the result
