code: @Override
      public GenerateDataSetResult generateDataSet(GenerateDataSetRequest request) {
          request = beforeClientExecution(request);
          return executeGenerateDataSet(request);
      }
docs: Given a data set type and data set publication date, asynchronously publishes the requested data set to the
  specified S3 bucket and notifies the specified SNS topic once the data is available. Returns a unique request
  identifier that can be used to correlate requests with notifications from the SNS topic. Data sets will be
  published in comma-separated values (CSV) format with the file name {data_set_type}_YYYY-MM-DD.csv. If a file with
  the same name already exists (e.g. if the same data set is requested twice), the original file will be overwritten
  by the new file. Requires a Role with an attached permissions policy providing Allow permissions for the following
  actions: s3:PutObject, s3:GetBucketLocation, sns:GetTopicAttributes, sns:Publish, iam:GetRolePolicy.
  
  @param generateDataSetRequest
  Container for the parameters to the GenerateDataSet operation.
  @return Result of the GenerateDataSet operation returned by the service.
  @throws MarketplaceCommerceAnalyticsException
  This exception is thrown when an internal service error occurs.
  @sample AWSMarketplaceCommerceAnalytics.GenerateDataSet
  @see <a href="http://docs.aws.amazon.com/goto/WebAPI/marketplacecommerceanalytics-2015-07-01/GenerateDataSet"
  target="_top">AWS API Documentation</a>