WICKET-5619 ConcurrentModificationException may occur when calling EventBus.post()

Use Iterables#filter() as suggested at com.google.common.collect.Collections2#filter
WICKET-5371 IllegalArgumentException: Argument 'page' may not be null. - when sending event from asynchronous process

Log a warning and unregister all subscriptions for a page when it is no more in the page stores for any reason
WICKET-5371 IllegalArgumentException: Argument 'page' may not be null. - when sending event from asynchronous process

Mark the page as dirty to keep it around in case there is no other usage with it (component added/removed/etc.)
WICKET-4660 Make it possible to notify about Atmosphere internal events
WICKET-5452 Make Wicket-Atmosphere testable - AtmosphereTester

Quick and dirty implementation of WicketAtmosphereTester
WICKET-5452 Make Wicket-Atmosphere testable - AtmosphereTester

Atmosphere tester - write to the http response (doesn't work)
WICKET-5452 Make Wicket-Atmosphere testable - AtmosphereTester

Fix the atmosphere behavior listener interface's type
WICKET-5452 Make Wicket-Atmosphere testable - AtmosphereTester

Rename WicketAtmosphereTester to AtmosphereTester

Start the page after configuring AtmosphereTester/TesterEventBus so the method collector is called for all components in the page
Expose TesterBroadcasterFactory as BroadcasterFactory#getDefault()
WICKET-5452 Make Wicket-Atmosphere testable - AtmosphereTester

Fix the callback url to the AtmosphereBehavior. It should be an Ajax one to prevent incrementing of the page id/renderCount
WICKET-5452 Make Wicket-Atmosphere testable - AtmosphereTester

Pretend being a websocket request when using AtmosphereTester
WICKET-5452 Make Wicket-Atmosphere testable - AtmosphereTester

Upgrade Atmosphere to 2.1.8
WICKET-5452 Make Wicket-Atmosphere testable - AtmosphereTester

Make it possible to write to the underlying http response
WICKET-5452 Make Wicket-Atmosphere testable - AtmosphereTester

Pretend it is WebSocket connection
WICKET-5452 Make Wicket-Atmosphere testable - AtmosphereTester

Remove custom executors - they are no needed because of TesterBroadcaster#executeBlockingWrite(AtmosphereResource, Entry)
WICKET-5452 Make Wicket-Atmosphere testable - AtmosphereTester

Add ASL2 headers
WICKET-5452 Make Wicket-Atmosphere testable - AtmosphereTester

Reuse the already installed EventBus in MyApp#init. Just set TesterBroadcaster for testing purposes.

Add APIs to make it possible to assert on the suspended (by Atmosphere) http response
WICKET-5452 Make Wicket-Atmosphere testable - AtmosphereTester

Fix a typo in javadoc. Use Hamcrest matchers
WICKET-5619 ConcurrentModificationException may occur when calling EventBus.post()

Use Iterables#filter() as suggested at com.google.common.collect.Collections2#filter
WICKET-5371 IllegalArgumentException: Argument 'page' may not be null. - when sending event from asynchronous process

Log a warning and unregister all subscriptions for a page when it is no more in the page stores for any reason
WICKET-5371 IllegalArgumentException: Argument 'page' may not be null. - when sending event from asynchronous process

Mark the page as dirty to keep it around in case there is no other usage with it (component added/removed/etc.)