public static FileSystemFilterEntry FromFullName(string fullName)
        {
            string[] parts = fullName.Split(new[] { "|" }, StringSplitOptions.RemoveEmptyEntries);
            FileSystemFilterEntry entry = null;

            if (parts.Length == 2)
            {
                string   displayName = parts[0];
                string[] extensions  = ExtractExtensions(parts[1]);
                entry = new FileSystemFilterEntry(displayName, extensions);
            }
            return(entry);
        }
 public void Setup(string filter)
 {
     _entries.Clear();
     if (string.IsNullOrWhiteSpace(filter))
     {
         filter = DefaultFilter;
     }
     string[] fullNames = filter.Split(new [] { ";" }, StringSplitOptions.RemoveEmptyEntries);
     foreach (string fullName in fullNames)
     {
         FileSystemFilterEntry entry = FileSystemFilterEntry.FromFullName(fullName);
         if (entry != null)
         {
             _entries.Add(entry);
         }
     }
     _selectedEntry = _entries.FirstOrDefault();
 }