I decided to switch these back from adjusting invalid values to throwing IllegalArgumentException's
This keeps the behavior consistent....if we want to change this, I think we should uniformly change it throughout the project.