class OptionSelectorWeighted {

  FeatureOption select() {
    final double randomValue = Math.random();
    int idx = Arrays.binarySearch(wheel, randomValue);
    if (idx < 0) {
      idx = -idx - 1;
    }
    return values[idx];
  }

    OptionSelectorWeighted(List<FeatureOption> options);

}