Throw IllegalStateException instead of UnsupportedOperationException