public synchronized void setNumColumns(int numColumns) {
        if (numColumns < this.numColumns) {
            reset();
        }
        if (numColumns == this.numColumns) {
            return;
        }
        for (int i = numColumns - this.numColumns; --i >= 0; ) {
            addColumn();
        }
    }
Sets the number of columns to use for this document distribution object. This will reset and setup this object
from scratch. The original number of buckets is maintained.

@param numColumns The new number of columns to distribute to.
vdslib/src/main/java/com/yahoo/vdslib/BucketDistribution.java