Method ExecuteOptimizedWhereHasAncestor<TProps>(TreeQueryContext<TProps>, TreeFilter)
Optimized execution of WhereHasAncestor through logic inversion:
Find ancestors with condition
Find their descendants (using ParentIds)
Apply remaining filters
protected Task<List<TreeRedbObject<TProps>>> ExecuteOptimizedWhereHasAncestor<TProps>(TreeQueryContext<TProps> context, TreeFilter hasAncestorFilter) where TProps : class, new()