public virtual Expression BuildQueryClause (ResolveContext ec, Expression lSide, Parameter parameter)
{
Arguments args = null;
CreateArguments (ec, parameter, ref args);
lSide = CreateQueryExpression (lSide, args);
if (next != null) {
parameter = CreateChildrenParameters (parameter);
Select s = next as Select;
if (s == null || s.IsRequired (parameter))
return next.BuildQueryClause (ec, lSide, parameter);
// Skip transparent select clause if any clause follows
if (next.next != null)
return next.next.BuildQueryClause (ec, lSide, parameter);
}
return lSide;
}