code: private static <D, T> void executeCommandAsync(final String database, final BsonDocument command,
                                                     final Decoder<D> decoder, final AsyncConnection connection,
                                                     final ReadPreference readPreference,
                                                     final CommandWriteTransformerAsync<D, T> transformer,
                                                     final SessionContext sessionContext,
                                                     final SingleResultCallback<T> callback) {
          connection.commandAsync(database, command, new NoOpFieldNameValidator(), readPreference, decoder, sessionContext,
                  new SingleResultCallback<D>() {
                      @Override
                      public void onResult(final D result, final Throwable t) {
                          if (t != null) {
                              callback.onResult(null, t);
                          } else {
                              try {
                                  T transformedResult = transformer.apply(result, connection);
                                  callback.onResult(transformedResult, null);
                              } catch (Exception e) {
                                  callback.onResult(null, e);
                              }
                          }
                      }
                  });
  
      }
docs: /* Async Connection Helpers