// private methods private IReadOperation <IAsyncCursor <BsonDocument> > CreateOperation(IChannel channel) { if (SupportedFeatures.IsListIndexesCommandSupported(channel.ConnectionDescription.ServerVersion)) { return(new ListIndexesUsingCommandOperation(_collectionNamespace, _messageEncoderSettings)); } else { return(new ListIndexesUsingQueryOperation(_collectionNamespace, _messageEncoderSettings)); } }