SemanticQueryTerm { public boolean hasValue() { return isNotBlank(value()); }  abstract String value(); abstract Optional<String> category(); static SemanticQueryTerm create(String value); static SemanticQueryTerm create(String value, String category); boolean hasValue(); String description(); static SemanticQueryTerm.GsonTypeAdapter getGsonTypeAdapter();  }
@Test public void hasValue() { assertThat(SemanticQueryTerm.create("").hasValue()) .isEqualTo(SemanticQueryTerm.create(" ").hasValue()) .isEqualTo(SemanticQueryTerm.create(" \t").hasValue()) .isFalse(); }