Program: 104235
Project: 104235
Buggy source:
/** 
 * Creates an instance of GroupRightButtonMenu.
 * @param mainFrame The parent <tt>MainFrame</tt> window.
 * @param group The <tt>MetaContactGroup</tt> for which the menu is opened.
 */
public GroupRightButtonMenu(MainFrame mainFrame,MetaContactGroup group){
  this.group=group;
  this.mainFrame=mainFrame;
  this.addContactMenu.setIcon(new ImageIcon(ImageLoader.getImage(ImageLoader.ADD_CONTACT_16x16_ICON)));
  this.add(addContactMenu);
  Iterator providers=mainFrame.getProtocolProviders();
  while (providers.hasNext()) {
    ProtocolProviderService pps=(ProtocolProviderService)providers.next();
    boolean isHidden=pps.getAccountID().getAccountProperty(ProtocolProviderFactory.IS_PROTOCOL_HIDDEN) != null;
    if (isHidden)     continue;
    String protocolName=pps.getProtocolName();
    AccountMenuItem menuItem=new AccountMenuItem(pps,new ImageIcon(createAccountStatusImage(pps)));
    menuItem.setName(protocolName);
    menuItem.addActionListener(this);
    this.addContactMenu.add(menuItem);
  }
  this.addSeparator();
  this.add(renameGroupItem);
  this.add(removeGroupItem);
  this.renameGroupItem.setName("String_Node_Str");
  this.removeGroupItem.setName("String_Node_Str");
  this.addContactMenu.setMnemonic(GuiActivator.getResources().getI18nMnemonic("String_Node_Str"));
  this.renameGroupItem.setMnemonic(GuiActivator.getResources().getI18nMnemonic("String_Node_Str"));
  this.removeGroupItem.setMnemonic(GuiActivator.getResources().getI18nMnemonic("String_Node_Str"));
  this.renameGroupItem.addActionListener(this);
  this.removeGroupItem.addActionListener(this);
  this.initPluginComponents();
}

Fixed version (ground truth):
/** 
 * Creates an instance of GroupRightButtonMenu.
 * @param mainFrame The parent <tt>MainFrame</tt> window.
 * @param group The <tt>MetaContactGroup</tt> for which the menu is opened.
 */
public GroupRightButtonMenu(MainFrame mainFrame,MetaContactGroup group){
  this.group=group;
  this.mainFrame=mainFrame;
  this.addContactMenu.setIcon(new ImageIcon(ImageLoader.getImage(ImageLoader.ADD_CONTACT_16x16_ICON)));
  this.add(addContactMenu);
  Iterator providers=mainFrame.getProtocolProviders();
  while (providers.hasNext()) {
    ProtocolProviderService pps=(ProtocolProviderService)providers.next();
    boolean isHidden=pps.getAccountID().getAccountProperty(ProtocolProviderFactory.IS_PROTOCOL_HIDDEN) != null;
    if (isHidden)     continue;
    String protocolName=pps.getProtocolName();
    AccountMenuItem menuItem=new AccountMenuItem(pps,new ImageIcon(ImageLoader.getAccountStatusImage(pps)));
    menuItem.setName(protocolName);
    menuItem.addActionListener(this);
    this.addContactMenu.add(menuItem);
  }
  this.addSeparator();
  this.add(renameGroupItem);
  this.add(removeGroupItem);
  this.renameGroupItem.setName("String_Node_Str");
  this.removeGroupItem.setName("String_Node_Str");
  this.addContactMenu.setMnemonic(GuiActivator.getResources().getI18nMnemonic("String_Node_Str"));
  this.renameGroupItem.setMnemonic(GuiActivator.getResources().getI18nMnemonic("String_Node_Str"));
  this.removeGroupItem.setMnemonic(GuiActivator.getResources().getI18nMnemonic("String_Node_Str"));
  this.renameGroupItem.addActionListener(this);
  this.removeGroupItem.addActionListener(this);
  this.initPluginComponents();
}