code: private static Provider parseProviderElement(Element element) {
  
          Class<?> providerClass = lookupClass(element.getAttribute("class"));
  
          if (providerClass == null) {
              throw new IllegalStateException("Referenced class {" + element.getAttribute("class")
                      + "} could not be found");
          }
          if (!ConverterProvider.class.isAssignableFrom(providerClass)) {
              throw new IllegalStateException("Referenced class {" + element.getAttribute("class")
                      + "} did not implement BindingProvider");
          }
  
          @SuppressWarnings("unchecked")
          final Class<ConverterProvider> typedProviderClass = (Class<ConverterProvider>) providerClass;
          return new Provider((Class<ConverterProvider>) typedProviderClass);
      }
docs: Parse the 'provider' element and its children
  @param element The element
  @return A {@link Provider} instance for the element