private QueryReference GlobalResolveReference(int level, ObjectName name)
{
ObjectName resolvedName = ResolveReference(name);
if (resolvedName == null && Parent != null)
// If we need to descend to the parent, increment the level.
return Parent.GlobalResolveReference(level + 1, name);
if (resolvedName != null)
return new QueryReference(resolvedName, level);
return null;
}