private IList<Control> GetControlsFor(Control control) { return control .GetAllControlsRecursive<Control>() .Where(x => _controlStrategies.ContainsKey(x) || _typeStrategies.ContainsKey(x.GetType())) .ToList(); }