Having an ImmutableDescription will block any requests to add children with super.addChild(). Which is on the one hand good and exactly what the class name states, but on the other it will be difficult for the SuiteDescription to get around this limitation. We would have to make the fChildren field somehow protected or the SuiteDescription would have to implement another children field. Both are somehow misleading. Therefore, I rather would like to live with the two inherited classes that both override the addChild() method to throw an UnsupportedOperationException. Moreover, I wouldn't like the ImmutableDescription to know anything about childrens. It's for compatibility reasons that we cannot change Description to be that much "abstract" and children unaware. Let's avoid to introduce another bridge class with too much knowledge. How do you feel?