Now it's not clear that IllegalStateException would be called on checkNotDefault().
The user expects IllegalArgumentException.
We need to have checkNotDefault(), which throws IAE, and checkNotDefaultState().
Similarly, we need to have checkDefault() and checkDefaultState().