Program: 61032
Project: 61032
Buggy source:
@Override public void setSchemaModalPage(final BasePage basePage,final ModalWindow window,AbstractBaseBean schema,final boolean createFlag){
  if (schema == null) {
    schema=new DerivedSchemaTO();
  }
  final Form schemaForm=new Form("String_Node_Str");
  schemaForm.setModel(new CompoundPropertyModel(schema));
  final AjaxTextFieldPanel name=new AjaxTextFieldPanel("String_Node_Str",getString("String_Node_Str"),new PropertyModel<String>(schema,"String_Node_Str"),false);
  name.addRequiredLabel();
  final AjaxTextFieldPanel expression=new AjaxTextFieldPanel("String_Node_Str",getString("String_Node_Str"),new PropertyModel<String>(schema,"String_Node_Str"),false);
  expression.addRequiredLabel();
  name.setEnabled(createFlag);
  final IndicatingAjaxButton submit=new IndicatingAjaxButton("String_Node_Str",new Model(getString("String_Node_Str"))){
    private static final long serialVersionUID=-958724007591692537L;
    @Override protected void onSubmit(    AjaxRequestTarget target,    Form form){
      if (createFlag) {
        restClient.createDerivedSchema(kind,(DerivedSchemaTO)form.getDefaultModelObject());
      }
 else {
        restClient.updateDerivedSchema(kind,(DerivedSchemaTO)form.getDefaultModelObject());
      }
      Schema callerPage=(Schema)basePage;
      callerPage.setOperationResult(true);
      window.close(target);
    }
    @Override protected void onError(    final AjaxRequestTarget target,    final Form form){
      target.addComponent(feedbackPanel);
    }
  }
;
  String allowedRoles;
  if (createFlag) {
    allowedRoles=xmlRolesReader.getAllAllowedRoles("String_Node_Str","String_Node_Str");
  }
 else {
    allowedRoles=xmlRolesReader.getAllAllowedRoles("String_Node_Str","String_Node_Str");
  }
  MetaDataRoleAuthorizationStrategy.authorize(submit,ENABLE,allowedRoles);
  schemaForm.add(name);
  schemaForm.add(expression);
  schemaForm.add(submit);
  add(schemaForm);
}

Fixed version (ground truth):
@Override public void setSchemaModalPage(final BasePage basePage,final ModalWindow window,AbstractBaseBean schema,final boolean createFlag){
  if (schema == null) {
    schema=new DerivedSchemaTO();
  }
  final Form schemaForm=new Form("String_Node_Str");
  schemaForm.setModel(new CompoundPropertyModel(schema));
  final AjaxTextFieldPanel name=new AjaxTextFieldPanel("String_Node_Str",getString("String_Node_Str"),new PropertyModel<String>(schema,"String_Node_Str"),false);
  name.addRequiredLabel();
  final AjaxTextFieldPanel expression=new AjaxTextFieldPanel("String_Node_Str",getString("String_Node_Str"),new PropertyModel<String>(schema,"String_Node_Str"),false);
  expression.addRequiredLabel();
  name.setEnabled(createFlag);
  final IndicatingAjaxButton submit=new IndicatingAjaxButton("String_Node_Str",new ResourceModel("String_Node_Str")){
    private static final long serialVersionUID=-958724007591692537L;
    @Override protected void onSubmit(    AjaxRequestTarget target,    Form form){
      if (createFlag) {
        restClient.createDerivedSchema(kind,(DerivedSchemaTO)form.getDefaultModelObject());
      }
 else {
        restClient.updateDerivedSchema(kind,(DerivedSchemaTO)form.getDefaultModelObject());
      }
      Schema callerPage=(Schema)basePage;
      callerPage.setOperationResult(true);
      window.close(target);
    }
    @Override protected void onError(    final AjaxRequestTarget target,    final Form form){
      target.addComponent(feedbackPanel);
    }
  }
;
  String allowedRoles;
  if (createFlag) {
    allowedRoles=xmlRolesReader.getAllAllowedRoles("String_Node_Str","String_Node_Str");
  }
 else {
    allowedRoles=xmlRolesReader.getAllAllowedRoles("String_Node_Str","String_Node_Str");
  }
  MetaDataRoleAuthorizationStrategy.authorize(submit,ENABLE,allowedRoles);
  schemaForm.add(name);
  schemaForm.add(expression);
  schemaForm.add(submit);
  add(schemaForm);
}