code: public static <T> List<T> findServiceProviders( Class<T> klass )
      {
          ServiceLoader<T> loader = ServiceLoader.load( klass );
          List<T> providers = new ArrayList<T>();
          Iterator<T> it = loader.iterator();
          while ( it.hasNext() )
          {
              providers.add( it.next() );
          }
          return providers;
      }
docs: Finds all providers for a given service.
  
  @param klass service interface or class
  @return list of all providers (not null)