private static IList <String> TryExpandArgumentsRecursively(AbstractOptionParser parser, String arg) { List <String> result = null; var array = parser.TryExpandArgument(arg); if (array != null) { result = new List <String>(array); foreach (var str in array) { var list = TryExpandArgumentsRecursively(parser, str); if (list != null) { result.AddRange(list); } } } return(result); }