// Path: src/main/java/com/openmodloader/api/event/IEvent.java
// public interface IEvent {
//     IEventTarget<?> makeTarget();
// }
// 
// Path: src/main/java/com/openmodloader/api/event/IEventDispatcher.java
// public interface IEventDispatcher {
//     <E extends IEvent> void dispatch(E event);
// }


import com.openmodloader.api.event.IEvent;
import com.openmodloader.api.event.IEventDispatcher;
package com.openmodloader.core.event;


public class ChainedEventDispatcher implements IEventDispatcher {
    private final IEventDispatcher[] dispatchers;

    public ChainedEventDispatcher(IEventDispatcher[] dispatchers) {
// Path: src/main/java/com/openmodloader/api/event/IEvent.java
// public interface IEvent {
//     IEventTarget<?> makeTarget();
// }
// 
// Path: src/main/java/com/openmodloader/api/event/IEventDispatcher.java
// public interface IEventDispatcher {
//     <E extends IEvent> void dispatch(E event);
// }


// Path: src/main/java/com/openmodloader/core/event/ChainedEventDispatcher.java
import com.openmodloader.api.event.IEvent;
import com.openmodloader.api.event.IEventDispatcher;

package com.openmodloader.core.event;


public class ChainedEventDispatcher implements IEventDispatcher {
    private final IEventDispatcher[] dispatchers;

    public ChainedEventDispatcher(IEventDispatcher[] dispatchers) {
        this.dispatchers = dispatchers;