docs: public static void setInstance(FactoryFinderProviderFactory instance)
      {
          
          
          // Now we need to make sure the volatile var FactoryFinder._initialized is
          // set to false, to make sure the right factory is fetched after this method
          // exists. It is just a fail-safe, because after all if the conditions to make 
          // this call are met, _initialized should be false.
          try
          {
              Class clazz = ClassUtils.classForName("javax.faces.FactoryFinder");
              Field field = clazz.getDeclaredField("initialized");
              field.setAccessible(true);
              
              if (field.getBoolean(null))
              {
                  Logger log = Logger.getLogger(FactoryFinderProviderFactory.class.getName());
                  if (log.isLoggable(Level.WARNING))
                  {
                      log.log(Level.WARNING,
                              "Called FactoryFinderProviderFactory.setFactory after " +
                                      "initialized FactoryFinder (first call to getFactory() or setFactory()). " +
                                      "This method should be called before " +
                                      "any 'web context' is initialized in the current 'classloader context'. " +
                                      "By that reason it will not be changed.");
                  }
              }
              else
              {
                  FactoryFinderProviderFactory.instance = instance;
              }
              
              field.setBoolean(null, false);
          }
          catch (Exception e)
          {
              // No Op
              Logger log = Logger.getLogger(FactoryFinderProviderFactory.class.getName());
              if (log.isLoggable(Level.FINE))
              {
                  log.log(Level.FINE, "Cannot access field _initialized"
                          + "from FactoryFinder ", e);
              }
          }
      }