void networkAddressChanged()
 {
     if (shouldStart_)
     {
         if (!icsManager.IsPublicConnected())
         {
             publicConnected_ = false;
         }
         else
         if (!publicConnected_)
         {
             publicConnected_ = true;
             events.put(SOFTEVENT.INTSTOP, 0);
             events.put(SOFTEVENT.TESTPRIVATE, 0);
         }
         else
         {
             if (state_ == getawayState.StartingIP)
             {
                 events.put(SOFTEVENT.RENEWIP, 0);
                 return;
             }
             if (state_ != getawayState.Started)
             {
                 return;
             }
             var currentPrivateConnection = IcsManager.getWMI(privateManager.connectionGuid);
             if (currentPrivateConnection != null)
             {
                 string[] addresses = (string[])currentPrivateConnection["IPAddress"];
                 if (!addresses[0].Equals(GetIP()))
                 {
                     Trace.TraceInformation("Private network address changed to:" + addresses[0]);
                     events.put(SOFTEVENT.RENEWIP, 0);
                 }
             }
         }
     }
 }