public void PrintExpression(SoqlExpression expr)
 {
     expr.Accept(this);
 }
 public void GetInvolvedClasses(SoqlExpression expr)
 {
     expr.Accept(this);
 }
 public void GetInvolvedClasses(SoqlExpression expr)
 {
     expr.Accept(this);
 }
 public void PrintExpression(SoqlExpression expr)
 {
     expr.Accept(this);
 }
 void OutputScalar(SoqlExpression expr)
 {
     if (expr is SoqlBooleanExpression && !(expr is SoqlRawExpression))
     {
         Output.Write("case when ");
         expr.Accept(this);
         Output.Write(" then 1 else 0 end");
     }
     else
     {
         expr.Accept(this);
     }
 }