Buggy code:
public class RadioChoice extends AbstractSingleSelectChoice implements IOnChangeListener { private static final long serialVersionUID = 1L ; private class SuffixChange extends Change { private static final long serialVersionUID = 1L ; final String prevSuffix ; SuffixChange ( String prevSuffix ) { } public void undo ( ) { } public String toString ( ) { } } private class PrefixChange extends Change { private static final long serialVersionUID = 1L ; private final String prevPrefix ; PrefixChange ( String prevSuffix ) { } public void undo ( ) { } public String toString ( ) { } } private String prefix = "" ; private String suffix = "<br<seq2seq4repair_space>//>\n" ; public RadioChoice ( final String id ) { } public RadioChoice ( final String id , final List choices ) { } public RadioChoice ( final String id , final List choices , final IChoiceRenderer renderer ) { } public RadioChoice ( final String id , IModel model , final List choices ) { } public RadioChoice ( final String id , IModel model , final List choices , final IChoiceRenderer renderer ) { } public RadioChoice ( String id , IModel choices ) { } public RadioChoice ( String id , IModel model , IModel choices ) { } public RadioChoice ( String id , IModel choices , IChoiceRenderer renderer ) { } public RadioChoice ( String id , IModel model , IModel choices , IChoiceRenderer renderer ) { } protected void onComponentTag ( ComponentTag tag ) { } public void onSelectionChanged ( ) { } protected void onSelectionChanged ( Object newSelection ) { } protected boolean wantOnSelectionChangedNotifications ( ) { } protected boolean getStatelessHint ( ) { } public final String getPrefix ( ) { } public final RadioChoice setPrefix ( String prefix ) { } public final String getSuffix ( ) { } public final RadioChoice setSuffix ( String suffix ) { } protected final void onComponentTagBody ( final MarkupStream markupStream , final ComponentTag openTag ) { final List choices = getChoices ( ) ; final AppendingStringBuffer buffer = new AppendingStringBuffer ( ( ( ( choices . size ( ) ) + 1 ) * 70 ) ) ; final String selected = getValue ( ) ; for ( int index = 0 ; index < ( choices . size ( ) ) ; index ++ ) { final Object choice = choices . get ( index ) ; Object displayValue = getChoiceRenderer ( ) . getDisplayValue ( choice ) ; Class objectClass = ( displayValue == null ) ? null : displayValue . getClass ( ) ; final String label = getConverter ( objectClass ) . convertToString ( displayValue , getLocale ( ) ) ; if ( label != null ) { buffer . append ( getPrefix ( ) ) ; String id = getChoiceRenderer ( ) . getIdValue ( choice , index ) ; final String idAttr = ( ( getInputName ( ) ) + "_" ) + id ; buffer . append ( "<input<seq2seq4repair_space>name=\"" ) . append ( getInputName ( ) ) . append ( "\"" ) . append ( "<seq2seq4repair_space>type=\"radio\"" ) . append ( ( isSelected ( choice , index , selected ) ? "<seq2seq4repair_space>checked=\"checked\"" : "" ) ) . append ( ( isEnabled ( ) ? "" : "<seq2seq4repair_space>disabled=\"disabled\"" ) ) . append ( "<seq2seq4repair_space>value=\"" ) . append ( id ) . append ( "\"<seq2seq4repair_space>id=\"" ) . append ( idAttr ) . append ( "\"" ) ; if ( wantOnSelectionChangedNotifications ( ) ) { final CharSequence url = urlFor ( INTERFACE ) ; Form form = ( ( Form ) ( findParent ( Form . class ) ) ) ; if ( form != null ) { buffer . append ( "<seq2seq4repair_space>onclick=\"" ) . append ( form . getJsForInterfaceUrl ( url ) ) . append ( ";\"" ) ; } else { <START_BUG> buffer . append ( "<seq2seq4repair_space>onclick=\"window.location.href=\'" ) . append ( url ) . append ( ( "&" + ( getInputName ( ) ) ) ) . append ( "=" ) . append ( id ) . append ( "\';\"" ) ; <END_BUG> } } buffer . append ( "//>" ) ; String display = label ; if ( localizeDisplayValues ( ) ) { display = getLocalizer ( ) . getString ( label , this , label ) ; } CharSequence escaped = Strings . escapeMarkup ( display , false , true ) ; buffer . append ( "<label<seq2seq4repair_space>for=\"" ) . append ( idAttr ) . append ( "\">" ) . append ( escaped ) . append ( "<//label>" ) ; buffer . append ( getSuffix ( ) ) ; } } replaceComponentTagBody ( markupStream , openTag , buffer ) ; } }

Fix:
buffer . append ( "<seq2seq4repair_space>onclick=\"window.location.href=\'" ) . append ( url ) . append ( ( "&amp;" + ( getInputName ( ) ) ) ) . append ( "=" ) . append ( id ) . append ( "\';\"" ) ;