Program: 124251
Project: 124251
Buggy source:
public void propertyChange(PropertyChangeEvent changeEvent){
  String prop=changeEvent.getPropertyName();
  boolean needUpdateSubjob=false;
  if (prop.equals(EParameterName.HINT.getName())) {
    Node node=((NodeContainer)getModel()).getNode();
  }
 else   if (JobletContainer.UPDATE_JOBLET_CONTENT.equals(prop)) {
    refresh();
    List<AbstractGraphicalEditPart> childrens=getChildren();
    for (    AbstractGraphicalEditPart part : childrens) {
      part.refresh();
    }
    needUpdateSubjob=true;
  }
 else   if (JobletContainer.UPDATE_JOBLET_CONNECTIONS.equals(prop)) {
    refreshSourceConnections();
  }
 else   if (JobletContainer.UPDATE_JOBLET_TITLE_COLOR.equals(prop)) {
    if (getFigure() instanceof JobletContainerFigure) {
      ((JobletContainerFigure)getFigure()).updateSubJobTitleColor();
      refreshVisuals();
    }
  }
 else   if (JobletContainer.UPDATE_JOBLET_DISPLAY.equals(prop)) {
    needUpdateSubjob=true;
  }
 else {
    if (getFigure() instanceof JobletContainerFigure) {
      ((JobletContainerFigure)getFigure()).updateData();
      refreshVisuals();
    }
  }
  if (changeEvent.getPropertyName().equals(EParameterName.ACTIVATE.getName())) {
    Node node=((NodeContainer)getModel()).getNode();
    if (node.isActivate()) {
      ((JobletContainerFigure)figure).repaint();
      refreshVisuals();
    }
 else {
      ((JobletContainerFigure)figure).repaint();
      refreshVisuals();
    }
  }
  if (changeEvent.getPropertyName().equals(Node.PERFORMANCE_DATA)) {
    refreshVisuals();
  }
  if (needUpdateSubjob) {
    EditPart editPart=getParent();
    if (editPart != null) {
      while ((!(editPart instanceof ProcessPart)) && (!(editPart instanceof SubjobContainerPart))) {
        editPart=editPart.getParent();
      }
      if (editPart instanceof SubjobContainerPart) {
        NodeContainer nc=(NodeContainer)getModel();
        boolean isCollapse=((JobletContainer)this.getModel()).isCollapsed();
        int changewidth=((JobletContainer)this.getModel()).getChangeWidth();
        int changeheight=((JobletContainer)this.getModel()).getChangeHeight();
        ((SubjobContainer)editPart.getModel()).refreshNodesLocation(isCollapse,nc,changewidth,changeheight);
        editPart.refresh();
      }
    }
  }
}

Fixed version (ground truth):
public void propertyChange(PropertyChangeEvent changeEvent){
  String prop=changeEvent.getPropertyName();
  boolean needUpdateSubjob=false;
  if (prop.equals(EParameterName.HINT.getName())) {
    Node node=((NodeContainer)getModel()).getNode();
  }
 else   if (JobletContainer.UPDATE_JOBLET_CONTENT.equals(prop)) {
    refresh();
    List<AbstractGraphicalEditPart> childrens=getChildren();
    for (    AbstractGraphicalEditPart part : childrens) {
      part.refresh();
    }
    needUpdateSubjob=true;
  }
 else   if (JobletContainer.UPDATE_JOBLET_CONNECTIONS.equals(prop)) {
    refreshSourceConnections();
  }
 else   if (JobletContainer.UPDATE_JOBLET_TITLE_COLOR.equals(prop)) {
    if (getFigure() instanceof JobletContainerFigure) {
      ((JobletContainerFigure)getFigure()).updateSubJobTitleColor();
      refreshVisuals();
    }
  }
 else   if (JobletContainer.UPDATE_JOBLET_DISPLAY.equals(prop)) {
    needUpdateSubjob=true;
  }
 else {
    if (getFigure() instanceof JobletContainerFigure) {
      ((JobletContainerFigure)getFigure()).updateData();
      refreshVisuals();
    }
  }
  if (changeEvent.getPropertyName().equals(EParameterName.ACTIVATE.getName())) {
    Node node=((NodeContainer)getModel()).getNode();
    if (node.isActivate()) {
      ((JobletContainerFigure)figure).repaint();
      refreshVisuals();
    }
 else {
      ((JobletContainerFigure)figure).repaint();
      refreshVisuals();
    }
  }
  if (changeEvent.getPropertyName().equals(Node.PERFORMANCE_DATA)) {
    refreshVisuals();
  }
  if (needUpdateSubjob) {
    EditPart editPart=getParent();
    if (editPart != null) {
      while ((!(editPart instanceof ProcessPart)) && (!(editPart instanceof SubjobContainerPart))) {
        editPart=editPart.getParent();
      }
      if (editPart instanceof SubjobContainerPart) {
        NodeContainer nc=(NodeContainer)getModel();
        boolean isCollapse=((JobletContainer)this.getModel()).isCollapsed();
        int changewidth=((JobletContainer)this.getModel()).getChangeWidth();
        int changeheight=((JobletContainer)this.getModel()).getChangeHeight();
        ((SubjobContainer)editPart.getModel()).refreshNodesLocation(isCollapse,nc,changewidth,changeheight);
        editPart.refresh();
      }
    }
  }
  if (changeEvent.getPropertyName().equals(Node.UPDATE_STATUS)) {
    Node node=((NodeContainer)getModel()).getNode();
    ((JobletContainerFigure)getFigure()).updateStatus(node.getStatus());
  }
}