code: private boolean reset(int bucket_count, double min_value, double max_value,
  			int capacity) {
  		if (bucket_count < 2 || max_value == min_value)
  			return false;
  
  		int bc = Math.min(MAXBUCKETS, bucket_count);
  		m_buckets.reserve(bc);
  		m_buckets.resize(bc);
  		m_buckets.setRange(0, 0, m_buckets.size());
  		m_min_value = min_value;
  		m_max_value = max_value;
  		m_bucketed_indices.resize(capacity);
  
  		m_dy = (max_value - min_value) / (bc - 1);
  		return true;
  	}
docs: Clears and resets Bucket_sort to the new state, preparing for the
  accumulation of new data.
  
  @param bucket_count
  - the number of buckets. Usually equal to the number of
  elements to sort.
  @param min_value
  - the minimum value of elements to sort.
  @param max_value
  - the maximum value of elements to sort.
  @param capacity
  - the number of elements to sort (-1 if not known). The
  bucket_count are usually equal.
  @return Returns False, if the bucket sort cannot be used with the given
  parameters. The method also can throw out of memory exception. In
  the later case, one should fall back to the regular sort.