Program: 143784
Project: 143784
Buggy source:
public void setValueObject(Object obj){
  if ("String_Node_Str".equals(obj))   obj=null;
  try {
    if (editProvider != null)     editProvider.setAdjusting(true);
    if (needsToProcessTags) {
      if (resolver != null) {
        if (tooltip != null) {
          String txt=Text.processTags(tooltip,resolver);
          setToolTipTextImpl(txt);
        }
      }
 else {
        if (tooltip != null) {
          setToolTipTextImpl(null);
        }
      }
    }
    if (previousValue != null && previousValue.equals(obj))     return;
    previousValue=obj;
    if (obj instanceof byte[] || (obj instanceof String && !editState)) {
      if (useAsync && application.getModeManager().getMode() == IModeManager.EDIT_MODE) {
        enclosedComponent.setIconDirect((Icon)null,enclosedComponent.getNextSeq());
        enclosedComponent.setText(application.getI18NMessage("String_Node_Str"));
      }
      final Object tmp=obj;
      final int seq=enclosedComponent.getNextSeq();
      Runnable action=new Runnable(){
        public void run(){
          byte[] array=getByteArrayContents(tmp);
          Icon icon=ImageLoader.getIcon(array,-1,-1,true);
          if (icon == null) {
            if (array != null && array.length > 0) {
              icon=NOT_EMPTY_IMAGE;
            }
 else             if (application.getI18NMessage("String_Node_Str").equals(enclosedComponent.getText())) {
              enclosedComponent.setText(null);
            }
          }
          if (!useAsync || (application.getModeManager().getMode() != IModeManager.EDIT_MODE) || Utils.equalObjects(tmp,getValueObject())) {
            enclosedComponent.setIconDirect(icon,seq);
          }
 else           if (application.getI18NMessage("String_Node_Str").equals(enclosedComponent.getText())) {
            enclosedComponent.setText(null);
          }
        }
      }
;
      if (useAsync && application.getModeManager().getMode() == IModeManager.EDIT_MODE) {
        application.getScheduledExecutor().execute(action);
      }
 else {
        action.run();
      }
    }
 else {
      setIcon(null);
    }
    value=obj;
  }
  finally {
    if (editProvider != null)     editProvider.setAdjusting(false);
  }
}

Fixed version (ground truth):
public void setValueObject(Object obj){
  if ("String_Node_Str".equals(obj))   obj=null;
  try {
    if (editProvider != null)     editProvider.setAdjusting(true);
    if (needsToProcessTags) {
      if (resolver != null) {
        if (tooltip != null) {
          String txt=Text.processTags(tooltip,resolver);
          setToolTipTextImpl(txt);
        }
      }
 else {
        if (tooltip != null) {
          setToolTipTextImpl(null);
        }
      }
    }
    if (previousValue != null && previousValue.equals(obj))     return;
    previousValue=obj;
    value=obj;
    if (obj instanceof byte[] || (obj instanceof String && !editState)) {
      if (useAsync && application.getModeManager().getMode() == IModeManager.EDIT_MODE) {
        enclosedComponent.setIconDirect((Icon)null,enclosedComponent.getNextSeq());
        enclosedComponent.setText(application.getI18NMessage("String_Node_Str"));
      }
      final Object tmp=obj;
      final int seq=enclosedComponent.getNextSeq();
      Runnable action=new Runnable(){
        public void run(){
          byte[] array=getByteArrayContents(tmp);
          Icon icon=ImageLoader.getIcon(array,-1,-1,true);
          if (icon == null) {
            if (array != null && array.length > 0) {
              icon=NOT_EMPTY_IMAGE;
            }
 else             if (application.getI18NMessage("String_Node_Str").equals(enclosedComponent.getText())) {
              enclosedComponent.setText(null);
            }
          }
          if (!useAsync || (application.getModeManager().getMode() != IModeManager.EDIT_MODE) || Utils.equalObjects(tmp,getValueObject())) {
            enclosedComponent.setIconDirect(icon,seq);
          }
 else           if (application.getI18NMessage("String_Node_Str").equals(enclosedComponent.getText())) {
            enclosedComponent.setText(null);
          }
        }
      }
;
      if (useAsync && application.getModeManager().getMode() == IModeManager.EDIT_MODE) {
        application.getScheduledExecutor().execute(action);
      }
 else {
        action.run();
      }
    }
 else {
      setIcon(null);
      if (application.getI18NMessage("String_Node_Str").equals(enclosedComponent.getText())) {
        enclosedComponent.setText(null);
      }
    }
  }
  finally {
    if (editProvider != null)     editProvider.setAdjusting(false);
  }
}