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;
    }
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 ; }
<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.