public static synchronized Class<?>[] getSubTypes(DrillConfig config) {
   List<String> packages =
       config.getStringList(CommonConstants.STORAGE_PLUGIN_CONFIG_SCAN_PACKAGES);
   Class<?>[] sec = PathScanner.scanForImplementationsArr(FormatPluginConfig.class, packages);
   logger.debug("Adding Format Plugin Configs including {}", (Object) sec);
   return sec;
 }
 /**
  * Use reflection to scan for implementations of {@see FormatPlugin}.
  *
  * @param config - Drill configuration object, used to find the packages to scan
  * @return - list of classes that implement the interface.
  */
 public static synchronized Class<?>[] getSubTypes(final DrillConfig config) {
   final List<String> packages =
       config.getStringList(CommonConstants.STORAGE_PLUGIN_CONFIG_SCAN_PACKAGES);
   final Class<?>[] pluginClasses =
       PathScanner.scanForImplementationsArr(FormatPluginConfig.class, packages);
   final String lineBrokenList =
       pluginClasses.length == 0 ? "" : "\n\t- " + Joiner.on("\n\t- ").join(pluginClasses);
   logger.debug(
       "Found {} format plugin configuration classes: {}.", pluginClasses.length, lineBrokenList);
   return pluginClasses;
 }