I'd prefer this to throw a runtime exception instead. I guess that IllegalArgumentException will do