Program: 101401
Project: 101401
Buggy source:
public NewProjectForm(Workspace theWorkspace,final MainDashboard dashboard){
  this.workspace=theWorkspace;
  this.project=PropertiesFactory.eINSTANCE.createProject();
  EObjectItem item=new EObjectItem(project);
  final Form projectForm=new Form();
  projectForm.setCaption("String_Node_Str");
  projectForm.setWriteThrough(false);
  projectForm.setInvalidCommitted(false);
  projectForm.setFormFieldFactory(new ProjectFieldFactory());
  projectForm.setItemDataSource(item);
  projectForm.setVisibleItemProperties(Arrays.asList(new EStructuralFeature[]{PropertiesPackage.Literals.PROJECT__NAME}));
  addComponent(projectForm);
  HorizontalLayout buttons=new HorizontalLayout();
  buttons.setSpacing(true);
  Button discardChanges=new Button("String_Node_Str",new Button.ClickListener(){
    public void buttonClick(    ClickEvent event){
      projectForm.discard();
    }
  }
);
  discardChanges.setStyleName(BaseTheme.BUTTON_LINK);
  buttons.addComponent(discardChanges);
  buttons.setComponentAlignment(discardChanges,Alignment.MIDDLE_LEFT);
  Button apply=new Button("String_Node_Str",new Button.ClickListener(){
    public void buttonClick(    ClickEvent event){
      try {
        projectForm.commit();
        project=TransactionUtil.commit(workspace,new Modification<Workspace,Project>(){
          @Override public Project apply(          Workspace object){
            object.getProjects().add(project);
            return project;
          }
        }
);
        MainDashboard.getCurrent().getBreadcrumbs().walkTo(project.getName());
      }
 catch (      Exception e) {
        e.printStackTrace();
      }
    }
  }
);
  buttons.addComponent(apply);
  projectForm.getFooter().addComponent(buttons);
  projectForm.getFooter().setMargin(false,false,true,true);
}

Fixed version (ground truth):
public NewProjectForm(final MainDashboard dashboard){
  this.project=PropertiesFactory.eINSTANCE.createProject();
  EObjectItem item=new EObjectItem(project);
  this.workspace=dashboard.getWorkspace();
  final Form projectForm=new Form();
  projectForm.setCaption("String_Node_Str");
  projectForm.setWriteThrough(false);
  projectForm.setInvalidCommitted(false);
  projectForm.setFormFieldFactory(new ProjectFieldFactory());
  projectForm.setItemDataSource(item);
  projectForm.setVisibleItemProperties(Arrays.asList(new EStructuralFeature[]{PropertiesPackage.Literals.PROJECT__NAME}));
  addComponent(projectForm);
  HorizontalLayout buttons=new HorizontalLayout();
  buttons.setSpacing(true);
  Button discardChanges=new Button("String_Node_Str",new Button.ClickListener(){
    public void buttonClick(    ClickEvent event){
      projectForm.discard();
    }
  }
);
  discardChanges.setStyleName(BaseTheme.BUTTON_LINK);
  buttons.addComponent(discardChanges);
  buttons.setComponentAlignment(discardChanges,Alignment.MIDDLE_LEFT);
  Button apply=new Button("String_Node_Str",new Button.ClickListener(){
    public void buttonClick(    ClickEvent event){
      try {
        projectForm.commit();
        project=TransactionUtil.commit(workspace,new Modification<Workspace,Project>(){
          @Override public Project apply(          Workspace object){
            object.getProjects().add(project);
            return project;
          }
        }
);
        MainDashboard.getCurrent().getBreadcrumbs().walkTo(project.getName());
      }
 catch (      Exception e) {
        e.printStackTrace();
      }
    }
  }
);
  buttons.addComponent(apply);
  projectForm.getFooter().addComponent(buttons);
  projectForm.getFooter().setMargin(false,false,true,true);
}