 blocking wait above. This is a bad design
  decision since this call may never return. VMWare server may timeout or someone
  can pull the network cable, leaving your program hanging. I originally wrote a busy
  wait where all externally visible wait functions were based on the following <code>
   InternalWait</code>.
 </p>
 <pre lang="cs">private void InternalWait(int timeoutInSeconds)
{
    if (timeoutInSeconds == 0)
    {
        throw new ArgumentOutOfRangeException("timeoutInSeconds");
    