// Path: src/test/java/com/viadeo/axonframework/eventhandling/cluster/fixture/EventListenerWrapper.java
// public class EventListenerWrapper implements EventListener {
// 
//     private final Optional<EventListener> delegate;
// 
//     public EventListenerWrapper() {
//         this(null);
//     }
// 
//     public EventListenerWrapper(final EventListener delegate) {
//         this.delegate = Optional.fromNullable(delegate);
//     }
// 
//     @Override
//     public void handle(EventMessage event) {
//         if (delegate.isPresent()) {
//             delegate.get().handle(event);
//         }
//     }
// }


import com.viadeo.axonframework.eventhandling.cluster.fixture.EventListenerWrapper;
import org.axonframework.eventhandling.EventListener;
package com.viadeo.axonframework.eventhandling.cluster.fixture.groupa;


public interface GroupA {

    class EventListenerA extends EventListenerWrapper {
        public EventListenerA() {
            this(null);
        }

        public EventListenerA(final EventListener delegate) {
            super(delegate);
        }
    }

// Path: src/test/java/com/viadeo/axonframework/eventhandling/cluster/fixture/EventListenerWrapper.java
// public class EventListenerWrapper implements EventListener {
// 
//     private final Optional<EventListener> delegate;
// 
//     public EventListenerWrapper() {
//         this(null);
//     }
// 
//     public EventListenerWrapper(final EventListener delegate) {
//         this.delegate = Optional.fromNullable(delegate);
//     }
// 
//     @Override
//     public void handle(EventMessage event) {
//         if (delegate.isPresent()) {
//             delegate.get().handle(event);
//         }
//     }
// }


// Path: src/test/java/com/viadeo/axonframework/eventhandling/cluster/fixture/groupa/GroupA.java
import com.viadeo.axonframework.eventhandling.cluster.fixture.EventListenerWrapper;
import org.axonframework.eventhandling.EventListener;

package com.viadeo.axonframework.eventhandling.cluster.fixture.groupa;


public interface GroupA {

    class EventListenerA extends EventListenerWrapper {
        public EventListenerA() {
            this(null);
        }

        public EventListenerA(final EventListener delegate) {
            super(delegate);
        }
    }

    class EventListenerB extends EventListenerWrapper {