Buggy code:
public class Radio < T > extends LabeledWebMarkupContainer { private static final long serialVersionUID = 1L ; private static final String ATTR_DISABLED = "disabled" ; private short uuid = - 1 ; private final RadioGroup < T > group ; public Radio ( String id ) { } public Radio ( String id , IModel < T > model ) { } public Radio ( String id , RadioGroup < T > group ) { } public Radio ( String id , IModel < T > model , RadioGroup < T > group ) { } public final String getValue ( ) { } @ Override protected void onComponentTag ( final ComponentTag tag ) { super . onComponentTag ( tag ) ; checkComponentTag ( tag , "input" ) ; checkComponentTagAttribute ( tag , "type" , "radio" ) ; final String value = getValue ( ) ; RadioGroup < ? > group = this . group ; if ( group == null ) { group = Radio . findParent ( RadioGroup . class ) ; if ( group == null ) { throw new org . apache . wicket . WicketRuntimeException ( ( ( "Radio<seq2seq4repair_space>component<seq2seq4repair_space>[" + ( Radio . getPath ( ) ) ) + "]<seq2seq4repair_space>cannot<seq2seq4repair_space>find<seq2seq4repair_space>its<seq2seq4repair_space>parent<seq2seq4repair_space>RadioGroup.<seq2seq4repair_space>All<seq2seq4repair_space>Radio<seq2seq4repair_space>components<seq2seq4repair_space>must<seq2seq4repair_space>be<seq2seq4repair_space>a<seq2seq4repair_space>child<seq2seq4repair_space>of<seq2seq4repair_space>or<seq2seq4repair_space>below<seq2seq4repair_space>in<seq2seq4repair_space>the<seq2seq4repair_space>hierarchy<seq2seq4repair_space>of<seq2seq4repair_space>a<seq2seq4repair_space>RadioGroup<seq2seq4repair_space>component." ) ) ; } } tag . put ( "name" , group . getInputName ( ) ) ; tag . put ( "value" , value ) ; if ( group . hasRawInput ( ) ) { String rawInput = group . getRawInput ( ) ; if ( ( rawInput != null ) && ( rawInput . equals ( value ) ) ) { tag . put ( "checked" , "checked" ) ; } } else if ( Objects . equal ( group . getDefaultModelObject ( ) , Radio . getDefaultModelObject ( ) ) ) { tag . put ( "checked" , "checked" ) ; } if ( group . wantOnSelectionChangedNotifications ( ) ) { CharSequence url = group . urlFor ( INTERFACE ) ; Form < ? > form = group . findParent ( Form . class ) ; if ( form != null ) { RequestContext rc = RequestContext . get ( ) ; if ( rc . isPortletRequest ( ) ) { url = ( ( org . apache . wicket . protocol . http . portlet . PortletRequestContext ) ( rc ) ) . getLastEncodedPath ( ) ; } tag . put ( "onclick" , form . getJsForInterfaceUrl ( url ) ) ; } else { tag . put ( "onclick" , ( ( ( ( "window.location.href='" + url ) + ( ( url . toString ( ) . indexOf ( '?' ) ) > ( - 1 ) ? "&amp;" : "?" ) ) + ( group . getInputName ( ) ) ) + "='<seq2seq4repair_space>+<seq2seq4repair_space>this.value;" ) ) ; } } <START_BUG> if ( ( ( ( ! ( Radio . isEnableAllowed ( ) ) ) || ( ! ( Radio . isEnabled ( ) ) ) ) || ( ! ( group . isEnabled ( ) ) ) ) || ( ! ( group . isEnableAllowed ( ) ) ) ) { <END_BUG> tag . put ( Radio . ATTR_DISABLED , Radio . ATTR_DISABLED ) ; } } public Radio < T > setLabel ( IModel < String > labelModel ) { } @ SuppressWarnings ( "unchecked" ) public final IModel < T > getModel ( ) { } public final void setModel ( IModel < T > model ) { } @ SuppressWarnings ( "unchecked" ) public final T getModelObject ( ) { } public final void setModelObject ( T object ) { } }

Fix:
if ( ! ( Radio . isEnabledInHierarchy ( ) ) ) {