private static void InstallSubDirectory(ADMobileVirtualDirectory dataObject, string subDirectoryName, Task task)
        {
            bool flag = false;

            using (DirectoryEntry directoryEntry = IisUtility.CreateIISDirectoryEntry(dataObject.MetabasePath, new Task.TaskErrorLoggingReThrowDelegate(task.WriteError), dataObject.Identity))
            {
                string path = Path.Combine(directoryEntry.Properties["Path"].Value.ToString(), subDirectoryName);
                if (!Directory.Exists(path))
                {
                    Directory.CreateDirectory(path);
                }
                string text = string.Format("{0}/{1}", dataObject.MetabasePath, subDirectoryName);
                if (!IisUtility.Exists(text))
                {
                    IisUtility.CreateWebDirectory(directoryEntry, subDirectoryName);
                    MobileSyncVirtualDirectoryHelper.UpdateSubDirectory(dataObject, text, task);
                    directoryEntry.CommitChanges();
                    IisUtility.CommitMetabaseChanges((dataObject.Server == null) ? null : dataObject.Server.Name);
                    flag = true;
                }
                ExTraceGlobals.TaskTracer.Information(0L, string.Format("Installed SubDirectory '{0}' with result '{1}'", subDirectoryName, flag));
            }
        }