public <ResultT> Task<ResultT> execute(
      @Nonnull final AwsRequest request,
      @Nonnull final Decoder<ResultT> resultDecoder) {
    return dispatcher.dispatchTask(new Callable<ResultT>() {
      @Override
      public ResultT call() {
        return proxy.execute(request, resultDecoder);
      }
    });
  }
public < ResultT > Task < ResultT > execute ( @ Nonnull final AwsRequest request , @ Nonnull final Decoder < ResultT > resultDecoder ) { return dispatcher . dispatchTask ( new Callable < ResultT > ( ) { @ Override public ResultT call ( ) { return proxy . execute ( request , resultDecoder ) ; } } ) ; }
Executes the AWS request, and decodes the result into an instance of the
specified type. The response will be decoded using the codec registry specified when the app
client was configured. If no codec registry was configured, a default codec registry will be
used. The default codec registry supports the mappings specified <a
href="http://mongodb.github.io/mongo-java-driver/3.1/bson/documents/#document">here</a>

@param request the AWS request to execute.
@param resultDecoder the {@link Decoder} to use to decode the result into a value.
@param <ResultT> the type into which the response will be decoded.
@return a task containing the decoded result value.