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