Program: 96016
Project: 96016
Buggy source:
/** 
 * {@inheritDoc}
 */
@SuppressWarnings("String_Node_Str") public void changeReuse(IComponentNameReuser user,String oldGuid,String newGuid) throws IncompatibleTypeException, PMException {
  if (user == null) {
    return;
  }
  if (newGuid != null) {
    CompSystem compSystem=ComponentBuilder.getInstance().getCompSystem();
    List<Component> availableComponents=getFilterToolkitId() != null ? compSystem.getComponents(getFilterToolkitId(),true) : compSystem.getComponents();
    boolean isValidType=updateComponentType(newGuid,user.getComponentType(getCompNameCache(),availableComponents));
    if (!isValidType) {
      String currType=getCompNameCache().getCompNamePo(newGuid).getComponentType();
      String userType=user.getComponentType(getCompNameCache(),availableComponents);
      IComponentNamePO compNamePo=getCompNameCache().getCompNamePo(newGuid);
      StringBuilder msgBuid=new StringBuilder();
      msgBuid.append(Messages.ErrorSavingChangedComponentName);
      msgBuid.append(StringConstants.DOT);
      msgBuid.append(StringConstants.NEWLINE);
      msgBuid.append(StringConstants.APOSTROPHE);
      msgBuid.append(currType);
      msgBuid.append(StringConstants.APOSTROPHE);
      msgBuid.append(StringConstants.SPACE);
      msgBuid.append(StringConstants.MINUS);
      msgBuid.append(StringConstants.RIGHT_INEQUALITY_SING);
      msgBuid.append(StringConstants.SPACE);
      msgBuid.append(StringConstants.APOSTROPHE);
      msgBuid.append(userType);
      msgBuid.append(StringConstants.APOSTROPHE);
      msgBuid.append(StringConstants.EXCLAMATION_MARK);
      String msg=msgBuid.toString();
      throw new IncompatibleTypeException(compNamePo,msg,MessageIDs.E_COMP_TYPE_INCOMPATIBLE,new String[]{compNamePo.getName(),CompSystemI18n.getString(currType),CompSystemI18n.getString(userType)});
    }
    getCompNameCache().addReuse(newGuid);
  }
  user.changeCompName(oldGuid,newGuid);
  if (oldGuid != null) {
    updateComponentType(oldGuid,null);
    getCompNameCache().removeReuse(oldGuid);
  }
}

Fixed version (ground truth):
/** 
 * {@inheritDoc}
 */
@SuppressWarnings("String_Node_Str") public void changeReuse(IComponentNameReuser user,String oldGuid,String newGuid) throws IncompatibleTypeException, PMException {
  if (user == null) {
    return;
  }
  if (newGuid != null) {
    CompSystem compSystem=ComponentBuilder.getInstance().getCompSystem();
    List<Component> availableComponents=getFilterToolkitId() != null ? compSystem.getComponents(getFilterToolkitId(),true) : compSystem.getComponents();
    boolean isValidType=updateComponentType(newGuid,user.getComponentType(getCompNameCache(),availableComponents));
    if (!isValidType) {
      String currType=getCompNameCache().getCompNamePo(newGuid).getComponentType();
      String userType=user.getComponentType(getCompNameCache(),availableComponents);
      IComponentNamePO compNamePo=getCompNameCache().getCompNamePo(newGuid);
      StringBuilder msgBuid=new StringBuilder();
      msgBuid.append(Messages.ErrorSavingChangedComponentName);
      msgBuid.append(StringConstants.DOT);
      msgBuid.append(StringConstants.NEWLINE);
      msgBuid.append(StringConstants.APOSTROPHE);
      msgBuid.append(currType);
      msgBuid.append(StringConstants.APOSTROPHE);
      msgBuid.append(StringConstants.SPACE);
      msgBuid.append(StringConstants.MINUS);
      msgBuid.append(StringConstants.RIGHT_INEQUALITY_SING);
      msgBuid.append(StringConstants.SPACE);
      msgBuid.append(StringConstants.APOSTROPHE);
      msgBuid.append(userType);
      msgBuid.append(StringConstants.APOSTROPHE);
      msgBuid.append(StringConstants.EXCLAMATION_MARK);
      String msg=msgBuid.toString();
      throw new IncompatibleTypeException(compNamePo,msg,MessageIDs.E_COMP_TYPE_INCOMPATIBLE,new String[]{compNamePo.getName(),CompSystemI18n.getString(currType,true),CompSystemI18n.getString(userType,true)});
    }
    getCompNameCache().addReuse(newGuid);
  }
  user.changeCompName(oldGuid,newGuid);
  if (oldGuid != null) {
    updateComponentType(oldGuid,null);
    getCompNameCache().removeReuse(oldGuid);
  }
}