code: public Iterator<V> getServices() {
          final List<V> empty = Collections.emptyList();
  
          if (context == null) {
              return empty.iterator();
          }
  
          return new ValueIterator(elementMap.values().iterator());
      }
docs: Iterate over all services in the map in no specific order. The iterator
  will return the service associated with each ServiceReference as it progresses.
  Creation of the iterator does not eagerly resolve services: resolution
  is done only once per service reference, and only when "next" would
  retrieve that service.