code: public void setMax (BigDecimal max) {
  		if (min.compareTo(max) > 0) throw new IllegalArgumentException("min can't be > max");
  
  		this.max = max;
  
  		if (current.compareTo(max) > 0) {
  			current = max.setScale(scale, BigDecimal.ROUND_HALF_UP);
  			spinner.notifyValueChanged(spinner.isProgrammaticChangeEvents());
  		}
  	}
docs: Sets max value. If current is greater than max, the current value is set to max value.