private void VisitFirstOrDefault()
 {
     luceneQuery.Take(1);
     queryType = SpecialQueryType.FirstOrDefault;
 }
 private void VisitSingleOrDefault()
 {
     luceneQuery.Take(2);
     queryType = SpecialQueryType.SingleOrDefault;
 }
 private void VisitSingle()
 {
     luceneQuery.Take(2);
     queryType = SpecialQueryType.Single;
 }
 private void VisitCount()
 {
     luceneQuery.Take(1);
     queryType = SpecialQueryType.Count;
 }
 private void VisitAny()
 {
     luceneQuery.Take(1);
     queryType = SpecialQueryType.Any;
 }
 private void VisitAll(Expression <Func <T, bool> > predicateExpression)
 {
     predicate = predicateExpression;
     queryType = SpecialQueryType.All;
 }