code: protected Bucket getBucketForValue(long value) {
  		Bucket bucket;
  		if (value < min) {
  			bucket = buckets[0];
  		} else {
  			if (value >= max) {
  				bucket = buckets[bucketNb + 1];
  			} else {
  				// Linear interpolation
  				int bucketIndex = 1 + (int) ((value - min) * (bucketNb - 1) / (max - min));
  				bucket = buckets[bucketIndex];
  				// As the division above was round at floor, bucket may be the next one
  				if (value > bucket.getMax()) {
  					bucketIndex++;
  					bucket = buckets[bucketIndex];
  				}
  			}
  		}
  		return bucket;
  	}
docs: {@inheritDoc}
  <p/>
  Override the base method making it generally faster thanks to linear regression.