WICKET-6908 detach all handlers

even if one throws a RuntimeException
diff --git a/wicket-request/src/main/java/org/apache/wicket/request/RequestHandlerExecutor.java b/wicket-request/src/main/java/org/apache/wicket/request/RequestHandlerExecutor.java
index f60b27a..47df808 100644
--- a/wicket-request/src/main/java/org/apache/wicket/request/RequestHandlerExecutor.java
+++ b/wicket-request/src/main/java/org/apache/wicket/request/RequestHandlerExecutor.java
@@ -132,21 +132,27 @@
 			active = null;
 		}
 
+		RuntimeException rethrow = null;;
 		for (IRequestHandler handler : inactiveRequestHandlers)
 		{
 			try
 			{
 				detach(handler);
 			}
-			catch (RuntimeException exception)
-			{
-				throw exception;
-			}
 			catch (Exception exception)
 			{
-				log.error("Error detaching RequestHandler", exception);
+				if (rethrow == null && exception instanceof RuntimeException) {
+					rethrow = (RuntimeException) exception;
+				} else {
+					log.error("Error detaching RequestHandler", exception);
+				}
 			}
 		}
+		if (rethrow != null) {
+			// WICKET-6001 runtime exceptions are rethrown
+			// TODO obsolete should component-queueing be removed
+			throw rethrow;
+		}
 	}
 
 	/**