title: Why is subclassing not allowed for many of the SWT Controls?
body: <p>I often find myself wanting to do it. It can be very useful when you want to store some useful information or extra states.</p>
  
  <p>So my question is, is there a very good/strong reason why this is forbidden?</p>
  
  <p>Thanks</p>
  
  <p>EDIT:
  Thanks a lot for all these answers. So it sounds like there's no right-or-wrong answer to this.</p>
  
  <p>Assuming I accept the fact that these classes are not to be subclassed, what's the point of <em>not</em> marking a Control class final, but prohibiting subclassing - effectively demoting the exception/error from compile-time to run-time?</p>
  
  <p>EDIT^2:
  See my own answer to this: apparently, these classes are overrideable, but requires explicit acknowledgement by the overrider.</p>
  
  <p>Thanks</p>