Part of me wonders whether I should use the NovaApi directly and do the translation myself.
That would certainly be an option worth exploring if there seems to be an obvious way to cut down on the number of calls.
An alternative, intermediate approach would be to try to override one of the functions or predicates you identified with different/custom logic that would give the desired result for your case without incurring the overhead we're seeing.
If you see an obvious candidate, someone on the list should certainly be able to help you wire it up to override the default behaviour, if possible.
Thanks for the additional research! ap
