What I meant is that if you change line 103 to say add(new DelegatingConnectionStateListener()), it's the same.
You don't need to retain the listener itself, as what ever gets modified is the list it builds upon