code: public Class<?> getProviderInterfaceFor(Class<?> businessInterface) {
          if (LOG.isTraceEnabled()) {
              LOG.trace(format("Looking for provider interface for business interface %s", businessInterface));
          }
          assert businessInterface != null : "businessInterface must not be null";
          ProvidedBy providedBy = getProvidedByAnnotation(businessInterface);
  
          if (providedBy == null) {
              throw new IllegalArgumentException(format("Unable to find suitable joynr provider for interface %s",
                                                        businessInterface));
          } else {
              Class<?> result = providedBy.value();
              if (LOG.isTraceEnabled()) {
                  LOG.trace(format("Returning: %s", result));
              }
              return result;
          }
      }
docs: Use this method to get the joynr provider interface for the given business interface.
  The business interface is mapped to its joynr provider, by expecting a {@link io.joynr.ProvidedBy} annotation
  is attached in the class hierarchy of the business interface. With this annotation, the provider is found by
  the ServiceProviderDiscovery.
  
  @param businessInterface
  the business interface for which we want to find the joynr provider interface.
  
  @return the provider interface, if found, or the interface passed in if not.