private boolean listening;
@Override
public Image getIcon ( int type ) {
LibrariesResolver resolver = getLookup().lookup( LibrariesResolver.class );
if (!listening) {
listening = true;
resolver.addChangeListener( WeakListeners.change( this, resolver ) );
}
Image result = super.getIcon( type );
if (resolver.hasMissingLibraries()) {
Image badge = ImageUtilities.loadImage( MISSING_LIBRARIES_BADGE );
result = ImageUtilities.mergeImages( result , badge, 9, 9);
}
return result;
}