Buggy code:
public class LayoutPanel extends JPanel implements PropertyChangeListener { private final String NO_SELECTION ; private LayoutModel model ; private LayoutController controller ; private LayoutPresetPersistence layoutPresetPersistence ; public LayoutPanel ( ) { } private void initEvents ( ) { layoutCombobox . addItemListener ( new ItemListener ( ) { public void itemStateChanged ( ItemEvent e ) { if ( ( layoutCombobox . getSelectedItem ( ) . equals ( NO_SELECTION ) ) && ( ( model . getSelectedLayout ( ) ) != null ) ) { setSelectedLayout ( null ) ; } else if ( ( layoutCombobox . getSelectedItem ( ) ) instanceof LayoutPanel . LayoutBuilderWrapper ) { LayoutBuilder builder = ( ( LayoutPanel . LayoutBuilderWrapper ) ( layoutCombobox . getSelectedItem ( ) ) ) . getLayoutBuilder ( ) ; if ( ( ( model . getSelectedLayout ( ) ) == null ) || ( ( model . getSelectedBuilder ( ) ) != builder ) ) { setSelectedLayout ( builder ) ; } } } } ) ; infoLabel . addMouseListener ( new MouseAdapter ( ) { RichTooltip richTooltip ; @ Override public void mouseEntered ( MouseEvent e ) { if ( ( ( infoLabel . isEnabled ( ) ) && ( ( model ) != null ) ) && ( ( model . getSelectedLayout ( ) ) != null ) ) { richTooltip = buildTooltip ( model . getSelectedBuilder ( ) ) ; <START_BUG> richTooltip . showTooltip ( infoLabel ) ; <END_BUG> } } @ Override public void mouseExited ( MouseEvent e ) { if ( ( richTooltip ) != null ) { richTooltip . hideTooltip ( ) ; richTooltip = null ; } } } ) ; presetsButton . addActionListener ( new ActionListener ( ) { public void actionPerformed ( ActionEvent e ) { JPopupMenu menu = new JPopupMenu ( ) ; List < Preset > presets = layoutPresetPersistence . getPresets ( model . getSelectedLayout ( ) ) ; if ( ( presets != null ) && ( ! ( presets . isEmpty ( ) ) ) ) { for ( final Preset p : presets ) { JMenuItem item = new JMenuItem ( p . toString ( ) ) ; item . addActionListener ( new ActionListener ( ) { public void actionPerformed ( ActionEvent e ) { layoutPresetPersistence . loadPreset ( p , model . getSelectedLayout ( ) ) ; refreshProperties ( ) ; StatusDisplayer . getDefault ( ) . setStatusText ( NbBundle . getMessage ( LayoutPanel . class , "LayoutPanel.status.loadPreset" , model . getSelectedBuilder ( ) . getName ( ) , p . toString ( ) ) ) ; } } ) ; menu . add ( item ) ; } } else { menu . add ( ( ( "<html><i>" + ( NbBundle . getMessage ( LayoutPanel . class , "LayoutPanel.presetsButton.nopreset" ) ) ) + "<//i><//html>" ) ) ; } JMenuItem saveItem = new JMenuItem ( NbBundle . getMessage ( LayoutPanel . class , "LayoutPanel.presetsButton.savePreset" ) ) ; saveItem . addActionListener ( new ActionListener ( ) { public void actionPerformed ( ActionEvent e ) { String lastPresetName = NbPreferences . forModule ( LayoutPanel . class ) . get ( "LayoutPanel.lastPresetName" , "" ) ; NotifyDescriptor . InputLine question = new NotifyDescriptor . InputLine ( NbBundle . getMessage ( LayoutPanel . class , "LayoutPanel.presetsButton.savePreset.input" ) , NbBundle . getMessage ( LayoutPanel . class , "LayoutPanel.presetsButton.savePreset.input.name" ) ) ; question . setInputText ( lastPresetName ) ; if ( ( DialogDisplayer . getDefault ( ) . notify ( question ) ) == ( NotifyDescriptor . OK_OPTION ) ) { String input = question . getInputText ( ) ; if ( ( input != null ) && ( ! ( input . isEmpty ( ) ) ) ) { layoutPresetPersistence . savePreset ( input , model . getSelectedLayout ( ) ) ; StatusDisplayer . getDefault ( ) . setStatusText ( NbBundle . getMessage ( LayoutPanel . class , "LayoutPanel.status.savePreset" , model . getSelectedBuilder ( ) . getName ( ) , input ) ) ; NbPreferences . forModule ( LayoutPanel . class ) . put ( "LayoutPanel.lastPresetName" , input ) ; } } } } ) ; menu . add ( new JSeparator ( ) ) ; menu . add ( saveItem ) ; menu . show ( layoutToolbar , 0 , ( - ( menu . getPreferredSize ( ) . height ) ) ) ; } } ) ; } public void refreshModel ( LayoutModel layoutModel ) { } public void propertyChange ( PropertyChangeEvent evt ) { } private void refreshModel ( ) { } private void refreshChooser ( ) { } private void refreshProperties ( ) { } private void refreshEnable ( ) { } private void setSelectedLayout ( LayoutBuilder builder ) { } private void reset ( ) { } private void run ( ) { } private void stop ( ) { } @ SuppressWarnings ( "unchecked" ) private void initComponents ( ) { } private void resetButtonActionPerformed ( ActionEvent evt ) { } private void runButtonActionPerformed ( ActionEvent evt ) { } private JLabel infoLabel ; private JComboBox layoutCombobox ; private JPanel layoutProvidedPanel ; private JToolBar layoutToolbar ; private JButton presetsButton ; private JPanel propertySheet ; private JButton resetButton ; private JButton runButton ; private static class LayoutBuilderWrapper { private LayoutBuilder layoutBuilder ; public LayoutBuilderWrapper ( LayoutBuilder layoutBuilder ) { } public LayoutBuilder getLayoutBuilder ( ) { } @ Override public String toString ( ) { } } private RichTooltip buildTooltip ( LayoutBuilder builder ) { } private static class LayoutDescriptionImage { private static final int STAR_WIDTH = 16 ; private static final int STAR_HEIGHT = 16 ; private static final int STAR_MAX = 5 ; private static final int TEXT_GAP = 5 ; private static final int LINE_GAP = 4 ; private static final int Y_BEGIN = 10 ; private static final int IMAGE_RIGHT_MARIN = 10 ; private Image greenIcon ; private Image grayIcon ; private Graphics g ; private String qualityStr ; private String speedStr ; private int textMaxSize ; private LayoutUI layoutUI ;

Fix:
richTooltip . showTooltip ( infoLabel , e . getLocationOnScreen ( ) ) ;