code: public static synchronized void removeProvider(String name) {
          check("removeProvider." + name);
          ProviderList list = Providers.getFullProviderList();
          ProviderList newList = ProviderList.remove(list, name);
          Providers.setProviderList(newList);
          increaseVersion();
      }
docs: Removes the provider with the specified name.
  
  <p>When the specified provider is removed, all providers located
  at a position greater than where the specified provider was are shifted
  down one position (towards the head of the list of installed
  providers).
  
  <p>This method returns silently if the provider is not installed or
  if name is null.
  
  <p>First, if there is a security manager, its
  <code>checkSecurityAccess</code>
  method is called with the string <code>"removeProvider."+name</code>
  to see if it's ok to remove the provider.
  If the default implementation of <code>checkSecurityAccess</code>
  is used (i.e., that method is not overriden), then this will result in
  a call to the security manager's <code>checkPermission</code> method
  with a <code>SecurityPermission("removeProvider."+name)</code>
  permission.
  
  @param name the name of the provider to remove.
  
  @throws  SecurityException
  if a security manager exists and its <code>{@link
  java.lang.SecurityManager#checkSecurityAccess}</code> method
  denies
  access to remove the provider
  
  @see #getProvider
  @see #addProvider