assertEquals(1, sup.getPropertyChangeListeners().length);
assertSame(l2, ((PropertyChangeListenerProxy) sup
.getPropertyChangeListeners()[0]).getListener());
assertNotSame(l3, sup.getPropertyChangeListeners()[0]);
sup.removePropertyChangeListener(sup.getPropertyChangeListeners()[0]);
assertEquals(0, sup.getPropertyChangeListeners().length);
sup.addPropertyChangeListener(l4);
//RI asserts to true here, really strange behavior
assertNotSame(l3, ((PropertyChangeListenerProxy) sup
.getPropertyChangeListeners()[0]).getListener());