Buggy code:
public class CheckboxesTagTests extends AbstractFormTagTests { private CheckboxesTag tag ; private TestBean bean ; @ Override @ SuppressWarnings ( "serial" ) protected void onSetUp ( ) { } public void testWithMultiValueArray ( ) throws Exception { } public void testWithMultiValueArrayAndDynamicAttributes ( ) throws Exception { } public void testWithMultiValueArrayWithDelimiter ( ) throws Exception { } public void testWithMultiValueMap ( ) throws Exception { } public void testWithPetItemsMap ( ) throws Exception { } public void testWithMultiValueMapWithDelimiter ( ) throws Exception { } public void testWithMultiValueWithEditor ( ) throws Exception { } public void testWithMultiValueWithReverseEditor ( ) throws Exception { } public void testWithMultiValueWithFormatter ( ) throws Exception { } public void testCollectionOfPets ( ) throws Exception { } public void testCollectionOfItemPets ( ) throws Exception { } public void testCollectionOfPetsWithEditor ( ) throws Exception { } public void testWithNullValue ( ) throws Exception { } public void testHiddenElementOmittedOnDisabled ( ) throws Exception { this . tag . setPath ( "stringArray" ) ; this . tag . setItems ( new Object [ ] { "foo" , "bar" , "baz" } ) ; <START_BUG> this . tag . setDisabled ( "true" ) ; <END_BUG> int result = this . tag . doStartTag ( ) ; assertEquals ( SKIP_BODY , result ) ; String output = getOutput ( ) ; output = ( "<doc>" + output ) + "<//doc>" ; SAXReader reader = new SAXReader ( ) ; Document document = reader . read ( new StringReader ( output ) ) ; Element rootElement = document . getRootElement ( ) ; assertEquals ( "Both<seq2seq4repair_space>tag<seq2seq4repair_space>and<seq2seq4repair_space>hidden<seq2seq4repair_space>element<seq2seq4repair_space>rendered<seq2seq4repair_space>incorrectly" , 3 , rootElement . elements ( ) . size ( ) ) ; Element spanElement = ( ( Element ) ( document . getRootElement ( ) . elements ( ) . get ( 0 ) ) ) ; Element checkboxElement = ( ( Element ) ( spanElement . elements ( ) . get ( 0 ) ) ) ; assertEquals ( "input" , checkboxElement . getName ( ) ) ; assertEquals ( "checkbox" , checkboxElement . attribute ( "type" ) . getValue ( ) ) ; assertEquals ( "stringArray" , checkboxElement . attribute ( "name" ) . getValue ( ) ) ; assertEquals ( "checked" , checkboxElement . attribute ( "checked" ) . getValue ( ) ) ; assertEquals ( "disabled" , checkboxElement . attribute ( "disabled" ) . getValue ( ) ) ; assertEquals ( "foo" , checkboxElement . attribute ( "value" ) . getValue ( ) ) ; } public void testSpanElementCustomizable ( ) throws Exception { } public void testDynamicTypeAttribute ( ) throws JspException { } private Date getDate ( ) { } @ Override protected TestBean createTestBean ( ) { } private static class MyStringTrimmerEditor extends StringTrimmerEditor { public final Set allProcessedValues = new HashSet ( ) ; public MyStringTrimmerEditor ( ) { } @ Override public void setAsText ( String text ) { } } private static class MyLowerCaseEditor extends PropertyEditorSupport { @ Override public void setAsText ( String text ) throws IllegalArgumentException { } @ Override public String getAsText ( ) { } } }

Fix:
this . tag . setDisabled ( true ) ;