private void Enum()
 {
     if (isLibrary)
     {
         Lock();
         ProgressInit();//init current progress bar              
         foreach (var host in network)
         {
             richTextBoxLog.Text += string.Format("Enumerator started for {0} ip address" + Environment.NewLine, host);
             AgentInfo agent = new AgentInfo();
             agent.host = IPAddress.Parse(host);
             //agent.community = "Zapad_RO";
             //agent.key = "1.3.6.1.2.1.1.3.0";
             if (SnmpLibrary.ContainsKey(host))
             {
                 agent.community = (string)SnmpLibrary[host];
                 agent.key = key;
                 Task task = Task.Factory.StartNew(SnmpGet, agent);
                 //задачи не имеют доступа к richtextbox          
                 manager.Add(task);
             }
             
         }
         richTextBoxLog.Text += lineDivider;
         //ожидаем выполнение каждой операции
         foreach (Task task in manager)
         {
             ProgressStep();//perform progress bar steps
             task.Wait();
         }
         richTextBoxLog.Text += logBuilder;
         manager.Clear();
         //reporting            
         StringBuilder report = new StringBuilder();
         report.AppendFormat("Enumerator report => success {0}, failed {1}, all {2}", successCount, failedCount, network.Count);
         report.AppendLine();
         report.AppendLine(lineDivider);
         richTextBoxLog.Text += report;
         Logging(report.ToString());//=>log
         ProgressClear();//clear progress
         logBuilder.Clear();
         successCount = 0;
         failedCount = 0;
         Lock();
         isLibrary = false;
     }
     else
     {
         Lock();
         ProgressInit();//init current progress bar              
         foreach (var host in network)
         {
             richTextBoxLog.Text += string.Format("Enumerator started for {0} ip address" + Environment.NewLine, host);
             AgentInfo agent = new AgentInfo();
             agent.host = IPAddress.Parse(host);
             //agent.community = "Zapad_RO";
             //agent.key = "1.3.6.1.2.1.1.3.0";
             agent.community = community;
             agent.key = key;
             Task task = Task.Factory.StartNew(SnmpGet, agent);
             //задачи не имеют доступа к richtextbox          
             manager.Add(task);
         }
         richTextBoxLog.Text += lineDivider;
         //ожидаем выполнение каждой операции
         foreach (Task task in manager)
         {
             ProgressStep();//perform progress bar steps
             task.Wait();    
         }
         richTextBoxLog.Text += logBuilder;
         manager.Clear();
         //reporting            
         StringBuilder report = new StringBuilder();
         report.AppendFormat(
             String.Format("Enumerator report => success {0}, failed {1}, all {2}", successCount, failedCount,
                 network.Count));
         report.AppendLine();
         report.AppendLine(lineDivider);
         richTextBoxLog.Text += report;
         Logging(report.ToString());//=>log
         ProgressClear();//clear progress
         logBuilder.Clear();
         successCount = 0;
         failedCount = 0;
         Lock();
     }
 }