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());
 }