{
if ( aEvent.getSource() instanceof Component )
{
final Component source = ( Component )aEvent.getSource();
final Closeable closeableParent = findCloseableParent( source, Closeable.class );
if ( closeableParent == null )
{
throw new RuntimeException( "Failed to find closeable parent?!" );
}
closeableParent.close();
// Make sure the resources held by the window are released...
if ( closeableParent instanceof Window )
{
( ( Window )closeableParent ).dispose();