private static Query HandleMethodsForQueryAndTerm(Query query, Term[] terms) { Func<string, List<string>, Query> value; var field = terms[0].Field; if (TryHandlingMethodForQueryAndTerm(ref field, out value) == false) return query; return value(field, terms.Select(x=>x.Text).ToList()); }