public void scanForFiles(InstanceGroup group)
        {
            String path = group.FullPath;

            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }

            String[] groups = Directory.GetDirectories(path, "*", SearchOption.TopDirectoryOnly);
            foreach (String groupPath in groups)
            {
                String dir = Path.GetFileName(groupPath);
                if ((File.GetAttributes(path + Path.DirectorySeparatorChar + dir) & FileAttributes.Hidden) != FileAttributes.Hidden)
                {
                    InstanceGroup subGroup = new InstanceGroup(dir, groupPath);
                    group.addGroup(subGroup);
                    scanForFiles(subGroup);
                }
            }

            String[] instances = Directory.GetFiles(path, "*.ins", SearchOption.TopDirectoryOnly);
            foreach (String instanceFile in instances)
            {
                group.addInstanceFile(Path.GetFileNameWithoutExtension(instanceFile));
            }
        }