I have a question and for that I need to explain a but my problem.
I have the following situation in my application: I have to implement the Firefox behaviour with the tabs in richfaces for the conversations. So there will be displayed a maximum of 5 conversations using rich:toolBarGroup, while you can navigate to the rest with left arrow, right arrow and combo-box(just like in Firefox).
For that, among other things, I extended Switcher to be able to change createSelectItems method.
And to store the displayed conversations I have a List. The problem is that when I close a tab associated to a conversation, ConversationEntry.destroy is being called. It is not enough for me, as along with ConversationEntry.destroy I also have to delete the corresponding element from the displayedConversationsTabs list. The easiest solution I could think of was to extends ConversationEntry and to override destroy method. This is not possible.
So my question: is there a logical explanation for why classes such as Switcher, ConversationList are not final while others like ConversationEntry are?