### Question:
DefaultWorkbenchErrorCallback { public void queue(final Throwable throwable) { queue.add(throwable); }  static boolean isKieServerForbiddenException(final Throwable throwable); static boolean isKieServerUnauthorizedException(final Throwable throwable); static boolean isInvalidBusContentException(final Throwable throwable); static boolean isServerOfflineException(final Throwable throwable); void error(final Throwable throwable); void queue(final Throwable throwable); void dequeue(); void processQueue();  }### Answer:
@Test public void testQueue() { callback.queue(new Exception("a")); callback.queue(new Exception("b")); callback.queue(new Exception("c")); when(genericErrorTimeController.isExpired()).thenReturn(true); callback.processQueue(); InOrder inOrder = inOrder(genericErrorPopup); inOrder.verify(genericErrorPopup, times(1)).show(); inOrder.verify(genericErrorPopup).setup(eq("Uncaught exception: a"), any(), anyString()); callback.dequeue(); callback.processQueue(); inOrder.verify(genericErrorPopup, times(1)).show(); inOrder.verify(genericErrorPopup).setup(eq("Uncaught exception: b"), any(), anyString()); callback.dequeue(); callback.processQueue(); inOrder.verify(genericErrorPopup, times(1)).show(); inOrder.verify(genericErrorPopup).setup(eq("Uncaught exception: c"), any(), anyString()); }