out.writeInt(reply.getHeader().getRequestID());
out.writeInt(reply.getHeader().getResponseTo());
out.writeInt(OpCode.OP_REPLY.getId());
out.writeInt(reply.getFlags());
out.writeLong(reply.getCursorId());
out.writeInt(reply.getStartingFrom());
final List<BSONObject> documents = reply.getDocuments();
out.writeInt(documents.size());
for (final BSONObject bsonObject : documents) {