private void Check(UiNode node)
 {
     switch (node.Type)
     {
         case UiNodeType.Group:
         case UiNodeType.Directory:
         case UiNodeType.Archive:
         {
             foreach (UiNode child in node.GetChilds())
                 Check(child);
             break;
         }
         case UiNodeType.FileTable:
         {
             if (PathComparer.Instance.Value.Equals(node.Name, @"system.win32.xgr") || node.Name.StartsWith("tutorial"))
                 foreach (UiNode child in node.GetChilds())
                     Check(child);
             break;
         }
         case UiNodeType.ArchiveLeaf:
         {
             UiArchiveLeaf leaf = (UiArchiveLeaf)node;
             string extension = PathEx.GetMultiDotComparableExtension(leaf.Entry.Name);
             switch (extension)
             {
                 case ".ztr":
                     if (leaf.Entry.Name.Contains("_us"))
                         leaf.IsChecked = true;
                     break;
             }
             break;
         }
         case UiNodeType.FileTableLeaf:
         {
             UiWpdTableLeaf leaf = (UiWpdTableLeaf)node;
             switch (leaf.Entry.Extension)
             {
                 case "wfl":
                 case "txbh":
                     leaf.IsChecked = true;
                     break;
             }
             break;
         }
     }
 }