code: public static synchronized ProviderList beginThreadProviderList(ProviderList list) {
  //        if (ProviderList.debug != null) {
  //            ProviderList.debug.println("ThreadLocal providers: " + list);
  //        }
          ProviderList oldList = threadLists.get();
          threadListsUsed++;
          threadLists.set(list);
          return oldList;
      }
docs: Methods to manipulate the thread local provider list. It is for use by
  JAR verification (see above) and the SunJSSE FIPS mode only.
  
  It should be used as follows:
  
  ProviderList list = ...;
  ProviderList oldList = Providers.beginThreadProviderList(list);
  try {
  // code that needs thread local provider list
  } finally {
  Providers.endThreadProviderList(oldList);
  }