protected override Expression DoResolve (ResolveContext ec)
{
int counter = QueryBlock.TransparentParameter.Counter;
Expression e = BuildQueryClause (ec, null, null);
if (e != null)
e = e.Resolve (ec);
//
// Reset counter in probing mode to ensure that all transparent
// identifier anonymous types are created only once
//
if (ec.IsInProbingMode)
QueryBlock.TransparentParameter.Counter = counter;
return e;
}