Program: 138454
Project: 138454
Buggy source:
protected Section creatMetadataSection(final ScrolledForm form,Composite topComp){
  Section section=createSection(form,topComp,getMetadataTitle(),"String_Node_Str");
  Composite parent=toolkit.createComposite(section);
  parent.setLayout(new GridLayout(2,false));
  nameText=createMetadataTextFiled(NAME_LABEL,parent);
  nameText.setTextLimit(EmfHelper.getStringMaxSize(CorePackage.Literals.MODEL_ELEMENT__NAME,MAX_TEXT_FIELD_STRING_SIZE_FOR_USUAL_STRING));
  purposeText=createMetadataTextFiled(PURPOSE_LABEL,parent);
  purposeText.setTextLimit(TaggedValueHelper.getStringMaxSize(TaggedValueHelper.PURPOSE,MAX_TEXT_FIELD_STRING_SIZE_FOR_USUAL_STRING));
  toolkit.createLabel(parent,DESCRIPTION_LABEL);
  descriptionText=toolkit.createText(parent,null,SWT.BORDER | SWT.MULTI | SWT.WRAP| SWT.V_SCROLL);
  GridDataFactory.fillDefaults().hint(META_FIELD_WIDTH,60).applyTo(descriptionText);
  descriptionText.setTextLimit(TaggedValueHelper.getStringMaxSize(TaggedValueHelper.DESCRIPTION,MAX_TEXT_FIELD_STRING_SIZE_FOR_USUAL_STRING));
  authorText=createMetadataTextFiled(AUTHOR_LABEL,parent);
  authorText.setTextLimit(TaggedValueHelper.getStringMaxSize(TaggedValueHelper.AUTHOR,MAX_TEXT_FIELD_STRING_SIZE_FOR_USUAL_STRING));
  if (!ReponsitoryContextBridge.isDefautProject()) {
    authorText.setEnabled(false);
    authorText.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
  }
  lockerText=createMetadataTextFiled(LOCKER_LABEL,parent);
  versionText=createMetadataVersionFiled(VERSION_LABEL,parent);
  toolkit.createLabel(parent,STATUS_LABEL);
  statusCombo=new CCombo(parent,SWT.BORDER);
  statusCombo.setEditable(false);
  String statusValue=DevelopmentStatus.DRAFT.getLiteral();
  TaggedValue taggedValue=TaggedValueHelper.getTaggedValue(TaggedValueHelper.DEV_STATUS,getCurrentModelElement(this.getEditor()).getTaggedValue());
  if (taggedValue != null) {
    statusValue=taggedValue.getValue();
  }
  List<org.talend.core.model.properties.Status> statusList=MetadataHelper.getTechnicalStatus();
  if (statusList != null && statusList.size() > 0) {
    List<String> statusArray=MetadataHelper.toArray(statusList);
    String[] tempString=new String[statusList.size()];
    statusCombo.setItems(statusArray.toArray(tempString));
    if (statusArray.contains(statusValue)) {
      statusCombo.remove(statusValue);
      statusCombo.add(statusValue,0);
    }
  }
 else {
    for (    DevelopmentStatus status : DevelopmentStatus.values()) {
      statusCombo.add(status.getLiteral());
    }
    statusCombo.add(statusValue,0);
  }
  initMetaTextFied();
  nameText.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      setDirty(true);
    }
  }
);
  purposeText.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      setDirty(true);
    }
  }
);
  descriptionText.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      setDirty(true);
    }
  }
);
  authorText.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      setDirty(true);
    }
  }
);
  statusCombo.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      setDirty(true);
    }
  }
);
  section.setClient(parent);
  return section;
}

Fixed version (ground truth):
protected Section creatMetadataSection(final ScrolledForm form,Composite topComp){
  Section section=createSection(form,topComp,getMetadataTitle(),"String_Node_Str");
  Composite parent=toolkit.createComposite(section);
  parent.setLayout(new GridLayout(2,false));
  nameText=createMetadataTextFiled(NAME_LABEL,parent);
  nameText.setTextLimit(EmfHelper.getStringMaxSize(CorePackage.Literals.MODEL_ELEMENT__NAME,MAX_TEXT_FIELD_STRING_SIZE_FOR_USUAL_STRING));
  purposeText=createMetadataTextFiled(PURPOSE_LABEL,parent);
  purposeText.setTextLimit(TaggedValueHelper.getStringMaxSize(TaggedValueHelper.PURPOSE,MAX_TEXT_FIELD_STRING_SIZE_FOR_USUAL_STRING));
  toolkit.createLabel(parent,DESCRIPTION_LABEL);
  descriptionText=toolkit.createText(parent,null,SWT.BORDER | SWT.MULTI | SWT.WRAP| SWT.V_SCROLL);
  GridDataFactory.fillDefaults().hint(META_FIELD_WIDTH,60).applyTo(descriptionText);
  descriptionText.setTextLimit(TaggedValueHelper.getStringMaxSize(TaggedValueHelper.DESCRIPTION,MAX_TEXT_FIELD_STRING_SIZE_FOR_USUAL_STRING));
  authorText=createMetadataTextFiled(AUTHOR_LABEL,parent);
  authorText.setTextLimit(TaggedValueHelper.getStringMaxSize(TaggedValueHelper.AUTHOR,MAX_TEXT_FIELD_STRING_SIZE_FOR_USUAL_STRING));
  if (!ReponsitoryContextBridge.isDefautProject()) {
    authorText.setEnabled(false);
    authorText.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
  }
  lockerText=createMetadataTextFiled(LOCKER_LABEL,parent);
  versionText=createMetadataVersionFiled(VERSION_LABEL,parent);
  toolkit.createLabel(parent,STATUS_LABEL);
  statusCombo=new CCombo(parent,SWT.BORDER);
  statusCombo.setEditable(false);
  String statusValue=getProperty() != null ? getProperty().getStatusCode() : DevelopmentStatus.DRAFT.getLiteral();
  List<org.talend.core.model.properties.Status> statusList=MetadataHelper.getTechnicalStatus();
  if (statusList != null && statusList.size() > 0) {
    List<String> statusArray=MetadataHelper.toArray(statusList);
    String[] tempString=new String[statusList.size()];
    statusCombo.setItems(statusArray.toArray(tempString));
    if (statusArray.contains(statusValue)) {
      statusCombo.remove(statusValue);
      statusCombo.add(statusValue,0);
    }
  }
 else {
    for (    DevelopmentStatus status : DevelopmentStatus.values()) {
      statusCombo.add(status.getLiteral());
    }
    statusCombo.add(statusValue,0);
  }
  initMetaTextFied();
  nameText.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      setDirty(true);
    }
  }
);
  purposeText.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      setDirty(true);
    }
  }
);
  descriptionText.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      setDirty(true);
    }
  }
);
  authorText.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      setDirty(true);
    }
  }
);
  statusCombo.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      setDirty(true);
    }
  }
);
  section.setClient(parent);
  return section;
}