QPID-8243: Optimize Logback1027 turbo filter
diff --git a/broker-plugins/logging-logback/src/main/java/org/apache/qpid/server/logging/logback/Logback1027WorkaroundTurboFilter.java b/broker-plugins/logging-logback/src/main/java/org/apache/qpid/server/logging/logback/Logback1027WorkaroundTurboFilter.java
index 9787fbb..105b2e3 100644
--- a/broker-plugins/logging-logback/src/main/java/org/apache/qpid/server/logging/logback/Logback1027WorkaroundTurboFilter.java
+++ b/broker-plugins/logging-logback/src/main/java/org/apache/qpid/server/logging/logback/Logback1027WorkaroundTurboFilter.java
@@ -43,11 +43,7 @@
                               final Object[] params,
                               final Throwable t)
     {
-
-        Set<Throwable> seen = Collections.newSetFromMap(new IdentityHashMap<Throwable, Boolean>());
-
-
-        if (t != null && hasRecursiveThrowableReference(t, seen))
+        if (t != null && hasRecursiveThrowableReference(t, null))
         {
             final int locationAwareLoggerInteger = Level.toLocationAwareLoggerInteger(level);
             logger.log(marker, logger.getName(), locationAwareLoggerInteger, format, params, new StringifiedException(t));
@@ -63,6 +59,12 @@
         {
             return false;
         }
+
+        if (seen == null)
+        {
+            seen = Collections.newSetFromMap(new IdentityHashMap<Throwable, Boolean>());
+        }
+
         if (!seen.add(t))
         {
             return true;