docs: protected PluginStrategy createPluginStrategy() {
  		String strategyName = SystemProperties.getString(PluginStrategy.class.getName());
  		if (strategyName != null) {
  			try {
  				Class<?> klazz = getClass().getClassLoader().loadClass(strategyName);
  				Object strategy = klazz.getConstructor(PluginManager.class)
  						.newInstance(this);
  				if (strategy instanceof PluginStrategy) {
  					LOGGER.info("Plugin strategy: " + strategyName);
  					return (PluginStrategy) strategy;
  				} else {
  					LOGGER.warning("Plugin strategy (" + strategyName +
  							") is not an instance of hudson.PluginStrategy");
  				}
  			} catch (ClassNotFoundException e) {
  				LOGGER.warning("Plugin strategy class not found: "
  						+ strategyName);
  			} catch (Exception e) {
  				LOGGER.log(WARNING, "Could not instantiate plugin strategy: "
  						+ strategyName + ". Falling back to ClassicPluginStrategy", e);
  			}
  			LOGGER.info("Falling back to ClassicPluginStrategy");
  		}
  
  		// default and fallback
  		return new ClassicPluginStrategy(this);
      }