code: public StorageDescriptor withBucketColumns(String... bucketColumns) {
          if (this.bucketColumns == null) {
              setBucketColumns(new java.util.ArrayList<String>(bucketColumns.length));
          }
          for (String ele : bucketColumns) {
              this.bucketColumns.add(ele);
          }
          return this;
      }
docs: <p>
  A list of reducer grouping columns, clustering columns, and bucketing columns in the table.
  </p>
  <p>
  <b>NOTE:</b> This method appends the values to the existing list (if any). Use
  {@link #setBucketColumns(java.util.Collection)} or {@link #withBucketColumns(java.util.Collection)} if you want
  to override the existing values.
  </p>
  
  @param bucketColumns
  A list of reducer grouping columns, clustering columns, and bucketing columns in the table.
  @return Returns a reference to this object so that method calls can be chained together.