Program: 61074
Project: 61074
Buggy source:
@Override protected void populateItem(final ListItem<SchemaMappingTO> item){
  final SchemaMappingTO mappingTO=item.getModelObject();
  item.add(new AjaxDecoratedCheckbox("String_Node_Str",new Model(Boolean.FALSE)){
    @Override protected void onUpdate(    final AjaxRequestTarget target){
      int index=-1;
      for (int i=0; i < resourceTO.getMappings().size() && index == -1; i++) {
        if (mappingTO.equals(resourceTO.getMappings().get(i))) {
          index=i;
        }
      }
      if (index != -1) {
        resourceTO.getMappings().remove(index);
        item.getParent().removeAll();
        target.addComponent(mappingContainer);
      }
    }
    @Override protected IAjaxCallDecorator getAjaxCallDecorator(){
      return new AjaxPreprocessingCallDecorator(super.getAjaxCallDecorator()){
        @Override public CharSequence preDecorateScript(        final CharSequence script){
          return "String_Node_Str" + getString("String_Node_Str") + "String_Node_Str"+ "String_Node_Str"+ script+ "String_Node_Str"+ "String_Node_Str";
        }
      }
;
    }
  }
);
  DropDownChoice<String> schemaAttrChoice=new DropDownChoice<String>("String_Node_Str",new PropertyModel<String>(mappingTO,"String_Node_Str"),(IModel)null);
  schemaAttrChoice.setOutputMarkupId(true);
  if (mappingTO.getSourceMappingType() == null) {
    schemaAttrChoice.setChoices(Collections.EMPTY_LIST);
  }
 else {
switch (mappingTO.getSourceMappingType()) {
case UserSchema:
      schemaAttrChoice.setChoices(uSchemaAttrNames);
    break;
case UserDerivedSchema:
  schemaAttrChoice.setChoices(uDerSchemaAttrNames);
break;
case RoleSchema:
schemaAttrChoice.setChoices(rSchemaAttrNames);
break;
case RoleDerivedSchema:
schemaAttrChoice.setChoices(rDerSchemaAttrNames);
break;
case MembershipSchema:
schemaAttrChoice.setChoices(mSchemaAttrNames);
break;
case MembershipDerivedSchema:
schemaAttrChoice.setChoices(mDerSchemaAttrNames);
break;
case SyncopeUserId:
schemaAttrChoice.setEnabled(false);
schemaAttrChoice.setRequired(false);
schemaAttrChoice.setChoices(Collections.EMPTY_LIST);
mappingTO.setSourceAttrName("String_Node_Str");
break;
case Password:
schemaAttrChoice.setEnabled(false);
schemaAttrChoice.setRequired(false);
schemaAttrChoice.setChoices(Collections.EMPTY_LIST);
mappingTO.setSourceAttrName("String_Node_Str");
break;
default :
schemaAttrChoice.setChoices(Collections.EMPTY_LIST);
}
}
item.add(schemaAttrChoice);
item.add(new SourceMappingTypesDropDownChoice("String_Node_Str",new PropertyModel<SourceMappingType>(mappingTO,"String_Node_Str"),sourceMappingTypes,schemaAttrChoice).setRequired(true).setOutputMarkupId(true));
item.add(new TextField("String_Node_Str",new PropertyModel(mappingTO,"String_Node_Str")).setRequired(true).setLabel(new Model(getString("String_Node_Str"))).setOutputMarkupId(true));
item.add(new AutoCompleteTextField("String_Node_Str",new PropertyModel(mappingTO,"String_Node_Str")){
@Override protected Iterator getChoices(final String input){
List<String> choices;
if ("String_Node_Str".startsWith(input.toLowerCase())) {
choices=Collections.singletonList("String_Node_Str");
}
 else if ("String_Node_Str".startsWith(input.toLowerCase())) {
choices=Collections.singletonList("String_Node_Str");
}
 else {
choices=Collections.EMPTY_LIST;
}
return choices.iterator();
}
}
);
item.add(new CheckBox("String_Node_Str",new PropertyModel(mappingTO,"String_Node_Str")));
item.add(new CheckBox("String_Node_Str",new PropertyModel(mappingTO,"String_Node_Str")));
}

Fixed version (ground truth):
@Override protected void populateItem(final ListItem<SchemaMappingTO> item){
  final SchemaMappingTO mappingTO=item.getModelObject();
  item.add(new AjaxDecoratedCheckbox("String_Node_Str",new Model(Boolean.FALSE)){
    @Override protected void onUpdate(    final AjaxRequestTarget target){
      int index=-1;
      for (int i=0; i < resourceTO.getMappings().size() && index == -1; i++) {
        if (mappingTO.equals(resourceTO.getMappings().get(i))) {
          index=i;
        }
      }
      if (index != -1) {
        resourceTO.getMappings().remove(index);
        item.getParent().removeAll();
        target.addComponent(mappingContainer);
      }
    }
    @Override protected IAjaxCallDecorator getAjaxCallDecorator(){
      return new AjaxPreprocessingCallDecorator(super.getAjaxCallDecorator()){
        @Override public CharSequence preDecorateScript(        final CharSequence script){
          return "String_Node_Str" + getString("String_Node_Str") + "String_Node_Str"+ "String_Node_Str"+ script+ "String_Node_Str"+ "String_Node_Str";
        }
      }
;
    }
  }
);
  DropDownChoice<String> schemaAttrChoice=new DropDownChoice<String>("String_Node_Str",new PropertyModel<String>(mappingTO,"String_Node_Str"),(IModel)null);
  schemaAttrChoice.setOutputMarkupId(true);
  if (mappingTO.getSourceMappingType() == null) {
    schemaAttrChoice.setChoices(Collections.EMPTY_LIST);
  }
 else {
switch (mappingTO.getSourceMappingType()) {
case UserSchema:
      schemaAttrChoice.setChoices(uSchemaAttrNames);
    break;
case UserDerivedSchema:
  schemaAttrChoice.setChoices(uDerSchemaAttrNames);
break;
case UserVirtualSchema:
schemaAttrChoice.setChoices(uVirSchemaAttrNames);
break;
case RoleSchema:
schemaAttrChoice.setChoices(rSchemaAttrNames);
break;
case RoleDerivedSchema:
schemaAttrChoice.setChoices(rDerSchemaAttrNames);
break;
case RoleVirtualSchema:
schemaAttrChoice.setChoices(rVirSchemaAttrNames);
break;
case MembershipSchema:
schemaAttrChoice.setChoices(mSchemaAttrNames);
break;
case MembershipDerivedSchema:
schemaAttrChoice.setChoices(mDerSchemaAttrNames);
break;
case MembershipVirtualSchema:
schemaAttrChoice.setChoices(mVirSchemaAttrNames);
break;
case SyncopeUserId:
schemaAttrChoice.setEnabled(false);
schemaAttrChoice.setRequired(false);
schemaAttrChoice.setChoices(Collections.EMPTY_LIST);
mappingTO.setSourceAttrName("String_Node_Str");
break;
case Password:
schemaAttrChoice.setEnabled(false);
schemaAttrChoice.setRequired(false);
schemaAttrChoice.setChoices(Collections.EMPTY_LIST);
mappingTO.setSourceAttrName("String_Node_Str");
break;
default :
schemaAttrChoice.setChoices(Collections.EMPTY_LIST);
}
}
item.add(schemaAttrChoice);
item.add(new SourceMappingTypesDropDownChoice("String_Node_Str",new PropertyModel<SourceMappingType>(mappingTO,"String_Node_Str"),sourceMappingTypes,schemaAttrChoice).setRequired(true).setOutputMarkupId(true));
item.add(new TextField("String_Node_Str",new PropertyModel(mappingTO,"String_Node_Str")).setRequired(true).setLabel(new Model(getString("String_Node_Str"))).setOutputMarkupId(true));
item.add(new AutoCompleteTextField("String_Node_Str",new PropertyModel(mappingTO,"String_Node_Str")){
@Override protected Iterator getChoices(final String input){
List<String> choices;
if ("String_Node_Str".startsWith(input.toLowerCase())) {
choices=Collections.singletonList("String_Node_Str");
}
 else if ("String_Node_Str".startsWith(input.toLowerCase())) {
choices=Collections.singletonList("String_Node_Str");
}
 else {
choices=Collections.EMPTY_LIST;
}
return choices.iterator();
}
}
);
item.add(new CheckBox("String_Node_Str",new PropertyModel(mappingTO,"String_Node_Str")));
item.add(new CheckBox("String_Node_Str",new PropertyModel(mappingTO,"String_Node_Str")));
}