We have a problem with queries that contain `IN` conditions with many bind params, because they have many variations and quickly overflow the query cache.

I want to check in condition clause of my sql statement and throw an exception, if there more than 30 bind values specified for in clause.

Can I use `VisitListener` for that? 

I can use org.jooq.VisitContext#clause to find `in` or `not in` condition, but I can’t check `org.jooq.impl.InCondition#values` size without reflection.

Now I'm forced to do something like this:

```
public class MyVisitListener extends DefaultVisitListener {
    @Override
    public void visitStart(VisitContext context) {
        if (context.clause() == Clause.CONDITION_IN || context.clause() == Clause.CONDITION_NOT_IN) {
            try {
                Field field = context.queryPart().getClass().getDeclaredField("values");
                field.setAccessible(true);
                Object value = field.get(context.queryPart());
                if (((Object[]) value).length > 30) {
                    throw new IllegalArgumentException("More than 30 bind values specified!");
                }
            } catch (NoSuchFieldException | IllegalAccessException e) {
                //throw new UnknownException("Can`t check size of field 'values' in " + context.queryPart().getClass().getName(), e);
            }
        }
    }
}

```

Is there a more convenient way (jOOQ 3.10.8 pro)?