code: @SuppressWarnings("unchecked")
      public static void addIQProvider(String elementName, String namespace,
              Object provider) {
          validate(elementName, namespace);
          // First remove existing providers
          String key = removeIQProvider(elementName, namespace);
          if (provider instanceof IQProvider) {
              iqProviders.put(key, (IQProvider<IQ>) provider);
          } else {
              throw new IllegalArgumentException("Provider must be an IQProvider");
          }
      }
docs: Adds an IQ provider (must be an instance of IQProvider or Class object that is an IQ)
  with the specified element name and name space. The provider will override any providers
  loaded through the classpath.
  
  @param elementName the XML element name.
  @param namespace the XML namespace.
  @param provider the IQ provider.