public JinqJooqQueryN where(Object lambda)
{
if (whereConditions != null) throw new IllegalArgumentException("Multiple where() lambdas not supported");
LambdaInfo where = LambdaInfo.analyze(context.metamodel, lambda);
if (where == null) throw new IllegalArgumentException("Could not create convert Lambda into a query");
WhereTransform whereTransform = new WhereTransform(context.metamodel, where);
List<Table<?>> from = new ArrayList<>();
from.addAll(fromTables);
Condition cond = whereTransform.apply(from);
return new JinqJooqQueryN(context, fromTables, cond);
}