public IApplication[] FindMatchApplications <TApplication>(MatchUsing matchUsing, string matchString, string excludedApplication = null) where TApplication : IApplication { return(Applications.FindAll( a => a is TApplication && matchString.Equals(a.MatchString, StringComparison.CurrentCultureIgnoreCase) && matchUsing == a.MatchUsing && excludedApplication != a.Name).ToArray()); }