public static TriState from(String booleanLike) {
        if (StringUtils.isBlank(booleanLike)) {
            return UNSET;
        }
        if (booleanLike.equalsIgnoreCase("false")) {
            return FALSE;
        }
        if (booleanLike.equalsIgnoreCase("true")) {
            return TRUE;
        }
        throw new IllegalArgumentException(String.format("The string '%s' does not look like a boolean.", booleanLike));
    }
@Test
    public void testBadStringShouldRaiseError() {
        assertThrows(IllegalArgumentException.class, () -> TriState.from("foo"));
    }