private void visitQuantifiedFilter(QuantifierFilter filter, string operationToken) { Action visitor = () => { filter.LeftHand.Accept(forSubCommand()); writer.Write(" "); writer.Write(operationToken); writer.Write(" "); QuantifierConverter converter = new QuantifierConverter(); writer.Write(converter.ToString(filter.Quantifier)); writer.Write(" "); filter.ValueProvider.Accept(forSubCommand()); }; visitFilter(filter, visitor); }