private boolean autoAssignFalse(Picks picks) throws IllegalPicksStateException { Counts values = getValueCounts(picks); if (values.allTrueButOneUnassigned()) { return values.onlyUnassigned.autoAssign(picks, false); } else if (values.allTrue()) { throw new IllegalPicksStateException(); } else { return false; } }