code: public static <T extends Extension> List<T> getExtensions(Properties properties,
              Parameter<Collection<String>> parameter, Driver d) {
          Collection<String> className = parameter.getValue(properties);
          List<T> finalResult = new ArrayList<>();
          for (String cName : className) {
              try {
                  T result;
  
                  if (LOG.isDebugEnabled()) {
                      LOG.debug("Creating  extension " + className);
                  }
                  result = (T) Class.forName(cName).newInstance();
                  result.init(d, properties);
                  finalResult.add(result);
              } catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) {
                  throw new ConfigurationException(e);
              }
          }
          return finalResult;
      }
docs: Get an extension list, as defined in the properties (comma-separated list).
  
  @param properties
  @param parameter
  @param d
  @return the extension list