code: @Override
    public Object getBinderValue(Service service) {
      String providerName = getStringValue(service.getBinder());
      Provider provider = Providers.getProvider(providerName);
  
      if (this.required && provider == null) {
        throw new IllegalArgumentException("Provider '" + providerName + "' could not be found.");
      }
  
      // providers that are in error will throw an exception if they are required
      if (provider != null && provider.isInError() && this.required) {
        throw new IllegalArgumentException("The provider '" + providerName + "' is not configured correctly!");
      }
  
      return provider;
    }
docs: {@inheritDoc}