Buggy code:
public class BaseWicketTester extends MockWebApplication { private static final Logger log = LoggerFactory . getLogger ( BaseWicketTester . class ) ; private static final class TestPageSource implements ITestPageSource { private final Page page ; private static final long serialVersionUID = 1L ; private TestPageSource ( Page page ) { } public Page getTestPage ( ) { } } public static class DummyWebApplication extends WebApplication { @ Override public Class < ? extends Page > getHomePage ( ) { } @ Override protected void outputDevelopmentModeWarning ( ) { } @ Override protected ISessionStore newSessionStore ( ) { } } public BaseWicketTester ( ) { } public < C extends Page > BaseWicketTester ( final Class < C > homePage ) { } public BaseWicketTester ( final WebApplication application ) { } public BaseWicketTester ( final WebApplication application , final String path ) { } public final Page startPage ( final ITestPageSource testPageSource ) { } public void executeListener ( Component component ) { } public void executeBehavior ( final AbstractAjaxBehavior behavior ) { } public final Page startPage ( final Page page ) { } public final < C extends Page > Page startPage ( Class < C > pageClass ) { } public final < C extends Page > Page startPage ( Class < C > pageClass , PageParameters parameters ) { } public FormTester newFormTester ( String path ) { } public FormTester newFormTester ( String path , boolean fillBlankString ) { } public final Panel startPanel ( final TestPanelSource testPanelSource ) { } public final < C extends Panel > Panel startPanel ( final Class < C > panelClass ) { } public void startComponent ( Component component ) { } private RuntimeException convertoUnexpect ( Exception e ) { } public Component getComponentFromLastRenderedPage ( String path ) { } public Result hasLabel ( String path , String expectedLabelText ) { } public < C extends Component > Result isComponent ( String path , Class < C > expectedComponentClass ) { } public Result isVisible ( String path ) { } public Result isInvisible ( String path ) { } public Result ifContains ( String pattern ) { } public void assertListView ( String path , List < ? > expectedList ) { } public void clickLink ( String path ) { } public void clickLink ( String path , boolean isAjax ) { } public void submitForm ( String path ) { } public void setParameterForNextRequest ( String componentPath , Object value ) { } public < C extends Page > Result isRenderedPage ( Class < C > expectedRenderedPageClass ) { } public void assertResultPage ( final Class < ? > pageClass , final String filename ) throws Exception { } public Result isResultPage ( final String expectedDocument ) throws Exception { } public Result hasNoErrorMessage ( ) { } public Result hasNoInfoMessage ( ) { } public List < Serializable > getMessages ( final int level ) { } public void dumpPage ( ) { } public void debugComponentTrees ( ) { } public void debugComponentTrees ( String filter ) { } public Result isComponentOnAjaxResponse ( Component component ) { } public void executeAjaxEvent ( String componentPath , String event ) { } public void executeAllTimerBehaviors ( MarkupContainer container ) { } public void executeAjaxEvent ( final Component component , final String event ) { } protected WebRequestCycle resolveRequestCycle ( ) { } public TagTester getTagByWicketId ( String wicketId ) { } public static List < TagTester > getTagsByWicketId ( WicketTester tester , String wicketId ) { } public TagTester getTagById ( String id ) { } private void submitAjaxFormSubmitBehavior ( final Component component , AjaxFormSubmitBehavior behavior ) { Form < ? > form = behavior . getForm ( ) ; String failMessage = "No<seq2seq4repair_space>form<seq2seq4repair_space>attached<seq2seq4repair_space>to<seq2seq4repair_space>the<seq2seq4repair_space>submitlink." ; notNull ( failMessage , form ) ; form . visitFormComponents ( new FormComponent . AbstractVisitor ( ) { @ Override public void onFormComponent ( FormComponent < ? > formComponent ) { <START_BUG> if ( ( ( ( ! ( formComponent instanceof RadioGroup ) ) && ( ! ( formComponent instanceof CheckGroup ) ) ) && ( ! ( formComponent . getClass ( ) . isAssignableFrom ( Button . class ) ) ) ) && ( formComponent . isVisible ( ) ) ) { <END_BUG> if ( ( ! ( ( formComponent instanceof IFormSubmittingComponent ) && ( component instanceof IFormSubmittingComponent ) ) ) || ( component == formComponent ) ) { String name = formComponent . getInputName ( ) ; String value = formComponent . getValue ( ) ; if ( ( getServletRequest ( ) . getParameterMap ( ) . get ( name ) ) == null ) { getServletRequest ( ) . setParameter ( name , value ) ; } } } } } ) ; } public String getContentTypeFromResponseHeader ( ) { } public int getContentLengthFromResponseHeader ( ) { } public String getLastModifiedFromResponseHeader ( ) { } public String getContentDispositionFromResponseHeader ( ) { } private Result isTrue ( String message , boolean condition ) { } private Result isEqual ( Object expected , Object actual ) { } private void notNull ( String message , Object object ) { } private Result isNull ( String message , Object object ) { } private void fail ( String message ) { } }

Fix:
if ( ( ( ( ( ! ( formComponent instanceof RadioGroup ) ) && ( ! ( formComponent instanceof CheckGroup ) ) ) && ( ! ( formComponent . getClass ( ) . isAssignableFrom ( Button . class ) ) ) ) && ( formComponent . isVisible ( ) ) ) && ( formComponent . isEnabledInHierarchy ( ) ) ) {