Program: 61623
Project: 61623
Buggy source:
public void updateContextMenu(final List<SWFList> swfs,List<TreeItem> items){
}

Fixed version (ground truth):
public void updateContextMenu(final List<SWFList> swfs,List<TreeItem> items){
  replaceSelectionMenuItem.setVisible(false);
  closeSelectionMenuItem.setVisible(false);
  moveTagMenu.setVisible(false);
  addTagMenu.setVisible(false);
  expandRecursiveMenuItem.setVisible(false);
  openSWFInsideTagMenuItem.setVisible(false);
  removeMenuItem.setVisible(true);
  for (  TreeItem t : items) {
    if (!((t instanceof Tag) || (t instanceof Frame))) {
      removeMenuItem.setVisible(false);
    }
  }
  exportSelectionMenuItem.setEnabled(!items.isEmpty() && !getSelection(items.get(0).getSwf(),items).isEmpty());
  final TreeItem item=items.get(0);
  if (item instanceof ImageTag && ((ImageTag)item).importSupported()) {
    replaceSelectionMenuItem.setVisible(true);
  }
  if (item instanceof DefineBinaryDataTag) {
    replaceSelectionMenuItem.setVisible(true);
    DefineBinaryDataTag bin=(DefineBinaryDataTag)item;
    if (bin.binaryData.length > 8) {
      String signature=new String(bin.binaryData,0,3,Utf8Helper.charset);
      if (Arrays.asList("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str").contains(signature)) {
        openSWFInsideTagMenuItem.setVisible(true);
      }
    }
  }
  if (item instanceof DefineSoundTag) {
    replaceSelectionMenuItem.setVisible(true);
  }
  if (item instanceof SWF) {
    closeSelectionMenuItem.setVisible(true);
  }
  List<Integer> allowedTagTypes=null;
  if (item instanceof FolderItem) {
    allowedTagTypes=getSwfFolderItemNestedTagIds(((FolderItem)item).getName(),item.getSwf().gfx);
  }
 else   if (item instanceof DefineSpriteTag) {
    allowedTagTypes=getSpriteNestedTagIds();
  }
  addTagMenu.removeAll();
  if (allowedTagTypes != null) {
    for (    Integer tagId : allowedTagTypes) {
      final Class cl=TagIdClassMap.getClassByTagId(tagId);
      JMenuItem tagItem=new JMenuItem(cl.getSimpleName());
      tagItem.addActionListener(new ActionListener(){
        @Override @SuppressWarnings("String_Node_Str") public void actionPerformed(        ActionEvent ae){
          try {
            SWF swf=item.getSwf();
            Tag t=(Tag)cl.getDeclaredConstructor(SWF.class).newInstance(new Object[]{swf});
            boolean isDefineSprite=item instanceof DefineSpriteTag;
            Timelined timelined=isDefineSprite ? (DefineSpriteTag)item : swf;
            t.setTimelined(timelined);
            if (isDefineSprite) {
              ((DefineSpriteTag)item).subTags.add(t);
            }
 else {
              swf.tags.add(t);
            }
            timelined.getTimeline().reset();
            swf.updateCharacters();
            mainPanel.refreshTree();
          }
 catch (          InstantiationException|IllegalAccessException|NoSuchMethodException|SecurityException|IllegalArgumentException|InvocationTargetException ex) {
            Logger.getLogger(TagTree.class.getName()).log(Level.SEVERE,null,ex);
          }
        }
      }
);
      addTagMenu.add(tagItem);
    }
    addTagMenu.setVisible(true);
  }
  if (item instanceof Tag && swfs.size() > 1) {
    final Tag tag=(Tag)item;
    moveTagMenu.removeAll();
    for (    SWFList targetSwfList : swfs) {
      for (      final SWF targetSwf : targetSwfList) {
        if (targetSwf != tag.getSwf()) {
          JMenuItem swfItem=new JMenuItem(targetSwf.getShortFileName());
          swfItem.addActionListener(new ActionListener(){
            @Override public void actionPerformed(            ActionEvent ae){
              tag.getSwf().tags.remove(tag);
              tag.setSwf(targetSwf);
              targetSwf.tags.add(tag);
              mainPanel.refreshTree();
            }
          }
);
          moveTagMenu.add(swfItem);
        }
      }
    }
    moveTagMenu.setVisible(true);
  }
  TreeModel model=getModel();
  expandRecursiveMenuItem.setVisible(model.getChildCount(item) > 0);
  jumpToCharacterMenuItem.setVisible(item instanceof CharacterIdTag && !(item instanceof CharacterTag));
  rawEditMenuItem.setVisible(item instanceof Tag);
}