class HalfUpRounding implements Rounding, ImmutableBean, Serializable {

  public static HalfUpRounding ofDecimalPlaces(int decimalPlaces) {
    if (decimalPlaces >= 0 && decimalPlaces < 16) {
      return CACHE[decimalPlaces];
    }
    return new HalfUpRounding(decimalPlaces, 1);
  }

  @ImmutableConstructor private  HalfUpRounding(
      int decimalPlaces,
      int fraction);

}