LuceneQuery { protected QueryBuilder doBuild(String fieldName, ExprType fieldType, ExprValue literal) { throw new UnsupportedOperationException( "Subclass doesn't implement this and build method either"); }  boolean canSupport(FunctionExpression func); QueryBuilder build(FunctionExpression func);  }
@Test void should_throw_exception_if_not_implemented() { assertThrows(UnsupportedOperationException.class, () -> new LuceneQuery(){}.doBuild(null, null, null)); }