public void setMixer(double value) {
    if (Double.isNaN(value) || value < 0 || 1 < value) throw new IllegalArgumentException("mixer[0..1] is " + value);
    if (mixer != value) {
      mixer = value;
      cached = null;
    }
  }
public void setMixer(double value)