BooC.App.LoadResponseFile C# (CSharp) Method

LoadResponseFile() private method

private LoadResponseFile ( string file ) : ArrayList
file string
return System.Collections.ArrayList
        ArrayList LoadResponseFile(string file)
        {
            file = Path.GetFullPath(file);
            if (_responseFileList.Contains(file))
            {
                throw new ApplicationException(
                        Boo.Lang.ResourceManager.Format("BCE0500", file));
            }
            _responseFileList.Add(file);
            if (!File.Exists(file))
            {
                throw new ApplicationException(Boo.Lang.ResourceManager.Format("BCE0501", file));
            }
            ArrayList arglist = new ArrayList();
            try
            {
                using (StreamReader sr = new StreamReader(file))
                {
                    string line;
                    while ((line = sr.ReadLine()) != null)
                    {
                        line = line.Trim();
                        if (line.Length > 0 && line[0] != '#')
                        {
                            if (line.StartsWith("@") && line.Length > 2)
                            {
                                arglist.AddRange(LoadResponseFile(line.Substring(1)));
                            }
                            else
                            {
                                arglist.Add(line);
                            }
                        }
                    }
                }
            }
            catch (ApplicationException)
            {
                throw;
            }
            catch (Exception x)
            {
                throw new ApplicationException(
                                Boo.Lang.ResourceManager.Format("BCE0502", file),
                                x);
            }
            return	arglist;
        }