protected EventListener remove( EventListener old_listener ) {
if ( old_listener == a ) return b;
if ( old_listener == b ) return a;
EventListener a2 = removeInternal(a, old_listener);
EventListener b2 = removeInternal(b, old_listener);
if ( a2 == a && b2 == b ) return this;
return addInternal( a2, b2 );
}