private <T extends ScannerPlugin> List<T> getScannerPlugins(List<JqassistantPlugin> plugins, Store store, Map<String, Object> properties)
throws PluginRepositoryException {
List<T> scannerPlugins = new ArrayList<>();
for (JqassistantPlugin plugin : plugins) {
ScannerType scannerType = plugin.getScanner();
if (scannerType != null) {
for (String scannerPluginName : scannerType.getClazz()) {
T scannerPlugin = createInstance(scannerPluginName);
if (scannerPlugin != null) {
// properties is mutable, so every plugin should get its
// own copy
scannerPlugin.initialize(store, new HashMap<>(properties));