private static void RecordField(QueryBuilderRecorder recorder, FieldInfo field)
 {
     recorder.Add(ctx =>
     {
         ctx.Descend(field.Name);
         ctx.PushDescendigFieldEnumType(field.FieldType.IsEnum ? field.FieldType : null);
     });
 }
		private IQueryBuilderRecord ApplyDirection(IQueryBuilderRecord record)
		{
			QueryBuilderRecorder recorder = new QueryBuilderRecorder(record);
			recorder.Add(ctx => ApplyDirection(ctx.CurrentQuery));
			return recorder.Record;
		}