throwIfInvalid