diff --git a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/processor/PluginService.java b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/processor/PluginService.java
index ae9d094..1884ff6 100644
--- a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/processor/PluginService.java
+++ b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/processor/PluginService.java
@@ -31,12 +31,9 @@
         PluginEntry[] entries = getEntries();
         for (PluginEntry entry : entries) {
             String category = entry.getCategory().toLowerCase();
-            if (!categories.containsKey(category)) {
-                categories.put(category, new LinkedList<>());
-            }
             try {
                 Class<?> clazz = this.getClass().getClassLoader().loadClass(entry.getClassName());
-                List<PluginType<?>> list = categories.get(category);
+                List<PluginType<?>> list = categories.computeIfAbsent(category, ignored -> new LinkedList<>());
                 PluginType<?> type = new PluginType<>(entry, clazz, entry.getName());
                 list.add(type);
             } catch (ClassNotFoundException ex) {
