@@ -0,0 +1,1488 @@
+package arez.windowsize.util;%0A%0Aimport elemental2.dom.Event;%0Aimport elemental2.dom.EventListener;%0Aimport elemental2.dom.EventTarget;%0Aimport java.util.ArrayList;%0Aimport java.util.HashMap;%0Aimport java.util.Map;%0A%0Apublic final class TestEventTarget%0A  implements EventTarget%0A%7B%0A  private final Map%3CString, ArrayList%3CEventListener%3E%3E _listeners = new HashMap%3C%3E();%0A%0A  @Override%0A  public void addEventListener( final String type,%0A                                final EventListener listener,%0A                                final AddEventListenerOptionsUnionType options )%0A  %7B%0A    throw new UnsupportedOperationException();%0A  %7D%0A%0A  @Override%0A  public void addEventListener( final String type, final EventListener listener )%0A  %7B%0A    getEventListenersByType( type ).add( listener );%0A  %7D%0A%0A  @Override%0A  public boolean dispatchEvent( final Event evt )%0A  %7B%0A    throw new UnsupportedOperationException();%0A  %7D%0A%0A  @Override%0A  public void removeEventListener( final String type,%0A                                   final EventListener listener,%0A                                   final RemoveEventListenerOptionsUnionType options )%0A  %7B%0A    throw new UnsupportedOperationException();%0A  %7D%0A%0A  @Override%0A  public void removeEventListener( final String type, final EventListener listener )%0A  %7B%0A    getEventListenersByType( type ).remove( listener );%0A  %7D%0A%0A  public ArrayList%3CEventListener%3E getEventListenersByType( final String type )%0A  %7B%0A    return _listeners.computeIfAbsent( type, t -%3E new ArrayList%3C%3E() );%0A  %7D%0A%7D%0A

Add test double for EventTarget