code: private Set<TraceeBackendProvider> loadProviders(ClassLoader classloader) {
  		final ServiceLoader<TraceeBackendProvider> loader = ServiceLoader.load(TraceeBackendProvider.class, classloader);
  		final Iterator<TraceeBackendProvider> providerIterator = loader.iterator();
  		final Set<TraceeBackendProvider> traceeProvider = new HashSet<>();
  		while (providerIterator.hasNext()) {
  			try {
  				traceeProvider.add(providerIterator.next());
  			} catch (ServiceConfigurationError ignored) {
  				// ignore, because it can happen when multiple providers are present and some of
  				// them are not class loader compatible with our API.
  			}
  		}
  		return traceeProvider;
  	}
docs: Loads the list of providers with the java ServiceLoader.<br />
  <p>Test information:<br />
  I tried to implement a test for such method. But it's really complicated:
  * We have to implement an own "mocked" classloader that simulates ClassLoader#getResources() calls. The returned list of URLs
  is opened by the ServiceLoader.<br />
  * Because we couldn't simulate N different loader scenarios we should return URLs with an own URLStreamHandler.
  Every StreamHandler returns a text InputStream on the getInputStream-Method and return a text that points to a classname.<br />
  * Our mocked classloader could/should simulate such loader classes<br />
  <br />
  Due such cases I reviewed the code and keep it untested :-(
  <p/>
  </p>
  
  @param classloader the classloader that is searched for TraceeBackendProvider services
  @return A list of available TraceeBackendProvider