docs: @Nonnull
      public static UpdateCenter createUpdateCenter(@CheckForNull UpdateCenterConfiguration config) {
          String requiredClassName = SystemProperties.getString(UpdateCenter.class.getName()+".className", null);
          if (requiredClassName == null) {
              // Use the default Update Center
              LOGGER.log(Level.FINE, "Using the default Update Center implementation");
              return createDefaultUpdateCenter(config);
          }
          
          LOGGER.log(Level.FINE, "Using the custom update center: {0}", requiredClassName);
          try {
              final Class<?> clazz = Class.forName(requiredClassName).asSubclass(UpdateCenter.class);
              if (!UpdateCenter.class.isAssignableFrom(clazz)) {
                  LOGGER.log(Level.SEVERE, "The specified custom Update Center {0} is not an instance of {1}. Falling back to default.",
                          new Object[] {requiredClassName, UpdateCenter.class.getName()});
                  return createDefaultUpdateCenter(config);
              }
              final Class<? extends UpdateCenter> ucClazz = clazz.asSubclass(UpdateCenter.class);
              final Constructor<? extends UpdateCenter> defaultConstructor = ucClazz.getConstructor();
              final Constructor<? extends UpdateCenter> configConstructor = ucClazz.getConstructor(UpdateCenterConfiguration.class);
              LOGGER.log(Level.FINE, "Using the constructor {0} Update Center configuration for {1}",
                      new Object[] {config != null ? "with" : "without", requiredClassName});
              return config != null ? configConstructor.newInstance(config) : defaultConstructor.newInstance();
          } catch(ClassCastException e) {
              // Should never happen
              LOGGER.log(WARNING, "UpdateCenter class {0} does not extend hudson.model.UpdateCenter. Using default.", requiredClassName);
          } catch(NoSuchMethodException e) {
              LOGGER.log(WARNING, String.format("UpdateCenter class %s does not define one of the required constructors. Using default", requiredClassName), e);
          } catch(Exception e) {
              LOGGER.log(WARNING, String.format("Unable to instantiate custom plugin manager [%s]. Using default.", requiredClassName), e);
          }
          return createDefaultUpdateCenter(config);
      }