bject[] properties, int timeoutInSeconds)
{
    Wait(timeoutInSeconds);
    for (int i = 0; i < GetNumProperties((int)properties[0]); i++)
    {
        yield return GetNthProperties&lt;object[]&gt;(i, properties);
    }
}
  </pre>
 <p>
  This results in a nice improvement over the previous implementation.
 </p>
 <pre lang="cs">public IEnumerable&lt;VMWareVirtualMachine&gt; RunningVirtualMachines
{
    get
    {
        VMWareJobCallback callback = new VMWareJobCallback();
        VMWareJob