Iterator iter = providers_.values().iterator(); while (iter.hasNext())
DMDServiceOffer[] offers = findMatchingOffers(query); if (offers != null)
  public DMDServiceProvider findService(DMDServiceQuery query)      throws IllegalArgumentException  {    if (query == null)    {      throw new IllegalArgumentException();    }    DMDServiceProvider provider = null;    Iterator iter = providers_.values().iterator();    while (iter.hasNext())    {      provider = (DMDServiceProvider) iter.next();      if (provider != null)      {        if (provider.canProvide(query))        {          return provider;        }      }    }    return null;  }