Program: 31087
Project: 31087
Buggy source:
@Override public void setValueRequested(Attribute<Object> attr,Object value) throws AttrTableSetException {
  Selection selection=frame.getCanvas().getSelection();
  Circuit circuit=frame.getCanvas().getCircuit();
  if (selection.isEmpty() && circuit != null) {
    AttrTableCircuitModel circuitModel=new AttrTableCircuitModel(project,circuit);
    circuitModel.setValueRequested(attr,value);
  }
 else {
    SetAttributeAction act=new SetAttributeAction(circuit,Strings.getter("String_Node_Str"));
    AutoLabel labler=null;
    if (attr.equals(StdAttr.LABEL)) {
      labler=new AutoLabel((String)value,circuit);
    }
    SortedSet<Component> comps=new TreeSet<Component>(new PositionComparator());
    comps.addAll(selection.getComponents());
    for (    Component comp : comps) {
      if (!(comp instanceof Wire)) {
        if (comp.getFactory() instanceof SubcircuitFactory) {
          SubcircuitFactory fac=(SubcircuitFactory)comp.getFactory();
          if (attr.equals(CircuitAttributes.NAMED_CIRCUIT_BOX) || attr.equals(CircuitAttributes.NAME_ATTR)) {
            try {
              CircuitMutation mutation=new CircuitMutation(fac.getSubcircuit());
              mutation.setForCircuit(attr,value);
              Action action=mutation.toAction(null);
              project.doAction(action);
            }
 catch (            CircuitException ex) {
              JOptionPane.showMessageDialog(project.getFrame(),ex.getMessage());
            }
            return;
          }
        }
        if (attr.equals(StdAttr.LABEL)) {
          if (labler.hasNext(circuit)) {
            act.set(comp,attr,labler.GetNext(circuit,comp.getFactory()));
          }
 else           act.set(comp,attr,"String_Node_Str");
        }
 else         act.set(comp,attr,value);
      }
    }
    project.doAction(act);
  }
}

Fixed version (ground truth):
@Override public void setValueRequested(Attribute<Object> attr,Object value) throws AttrTableSetException {
  Selection selection=frame.getCanvas().getSelection();
  Circuit circuit=frame.getCanvas().getCircuit();
  if (selection.isEmpty() && circuit != null) {
    AttrTableCircuitModel circuitModel=new AttrTableCircuitModel(project,circuit);
    circuitModel.setValueRequested(attr,value);
  }
 else {
    SetAttributeAction act=new SetAttributeAction(circuit,Strings.getter("String_Node_Str"));
    AutoLabel labler=null;
    if (attr.equals(StdAttr.LABEL)) {
      labler=new AutoLabel((String)value,circuit);
    }
    SortedSet<Component> comps=new TreeSet<Component>(new PositionComparator());
    comps.addAll(selection.getComponents());
    for (    Component comp : comps) {
      if (!(comp instanceof Wire)) {
        if (comp.getFactory() instanceof SubcircuitFactory) {
          SubcircuitFactory fac=(SubcircuitFactory)comp.getFactory();
          if (attr.equals(CircuitAttributes.NAMED_CIRCUIT_BOX) || attr.equals(CircuitAttributes.NAME_ATTR)) {
            try {
              CircuitMutation mutation=new CircuitMutation(fac.getSubcircuit());
              mutation.setForCircuit(attr,value);
              Action action=mutation.toAction(null);
              project.doAction(action);
            }
 catch (            CircuitException ex) {
              JOptionPane.showMessageDialog(project.getFrame(),ex.getMessage());
            }
            return;
          }
        }
        if (attr.equals(StdAttr.LABEL)) {
          if (labler.hasNext(circuit)) {
            if (comps.size() > 1) {
              act.set(comp,attr,labler.GetNext(circuit,comp.getFactory()));
            }
 else {
              if (getAttributeSet().getValue(StdAttr.LABEL).equals((String)value))               return;
 else               act.set(comp,attr,labler.GetCurrent(circuit,comp.getFactory()));
            }
          }
 else           act.set(comp,attr,"String_Node_Str");
        }
 else         act.set(comp,attr,value);
      }
    }
    project.doAction(act);
  }
}