Buggy code:
public class Select extends FormComponent { private static final long serialVersionUID = 1L ; public Select ( MarkupContainer parent , final String id ) { } public Select ( MarkupContainer parent , final String id , IModel model ) { } @ Override public void updateModel ( ) { Object object = getModelObject ( ) ; boolean isModelCollection = object instanceof Collection ; if ( isModelCollection ) { modelChanging ( ) ; ( ( Collection ) ( object ) ) . clear ( ) ; } else { <START_BUG> getModel ( ) . setObject ( this , null ) ; <END_BUG> } String [ ] paths = getInputAsArray ( ) ; if ( ( paths != null ) && ( ( paths . length ) > 0 ) ) { if ( ( ! isModelCollection ) && ( ( paths . length ) > 1 ) ) { throw new wicket . WicketRuntimeException ( ( ( "The<seq2seq4repair_space>model<seq2seq4repair_space>of<seq2seq4repair_space>Select<seq2seq4repair_space>component<seq2seq4repair_space>[" + ( getPath ( ) ) ) + "]<seq2seq4repair_space>is<seq2seq4repair_space>not<seq2seq4repair_space>of<seq2seq4repair_space>type<seq2seq4repair_space>java.util.Collection,<seq2seq4repair_space>but<seq2seq4repair_space>more<seq2seq4repair_space>then<seq2seq4repair_space>one<seq2seq4repair_space>SelectOption<seq2seq4repair_space>component<seq2seq4repair_space>has<seq2seq4repair_space>been<seq2seq4repair_space>selected.<seq2seq4repair_space>Either<seq2seq4repair_space>remove<seq2seq4repair_space>the<seq2seq4repair_space>multiple<seq2seq4repair_space>attribute<seq2seq4repair_space>from<seq2seq4repair_space>the<seq2seq4repair_space>select<seq2seq4repair_space>tag<seq2seq4repair_space>or<seq2seq4repair_space>make<seq2seq4repair_space>the<seq2seq4repair_space>model<seq2seq4repair_space>of<seq2seq4repair_space>the<seq2seq4repair_space>Select<seq2seq4repair_space>component<seq2seq4repair_space>a<seq2seq4repair_space>collection" ) ) ; } for ( String element : paths ) { String path = element ; if ( path != null ) { path = path . substring ( ( ( getPath ( ) . length ( ) ) + 1 ) ) ; SelectOption option = ( ( SelectOption ) ( get ( path ) ) ) ; if ( option == null ) { throw new wicket . WicketRuntimeException ( ( ( ( ( ( ( "submitted<seq2seq4repair_space>http<seq2seq4repair_space>post<seq2seq4repair_space>value<seq2seq4repair_space>[" + ( paths . toString ( ) ) ) + "]<seq2seq4repair_space>for<seq2seq4repair_space>SelectOption<seq2seq4repair_space>component<seq2seq4repair_space>[" ) + ( getPath ( ) ) ) + "]<seq2seq4repair_space>contains<seq2seq4repair_space>an<seq2seq4repair_space>illegal<seq2seq4repair_space>relative<seq2seq4repair_space>path<seq2seq4repair_space>element<seq2seq4repair_space>[" ) + path ) + "]<seq2seq4repair_space>which<seq2seq4repair_space>does<seq2seq4repair_space>not<seq2seq4repair_space>point<seq2seq4repair_space>to<seq2seq4repair_space>an<seq2seq4repair_space>SelectOption<seq2seq4repair_space>component.<seq2seq4repair_space>Due<seq2seq4repair_space>to<seq2seq4repair_space>this<seq2seq4repair_space>the<seq2seq4repair_space>Select<seq2seq4repair_space>component<seq2seq4repair_space>cannot<seq2seq4repair_space>resolve<seq2seq4repair_space>the<seq2seq4repair_space>selected<seq2seq4repair_space>SelectOption<seq2seq4repair_space>component<seq2seq4repair_space>pointed<seq2seq4repair_space>to<seq2seq4repair_space>by<seq2seq4repair_space>the<seq2seq4repair_space>illegal<seq2seq4repair_space>value.<seq2seq4repair_space>A<seq2seq4repair_space>possible<seq2seq4repair_space>reason<seq2seq4repair_space>is<seq2seq4repair_space>that<seq2seq4repair_space>component<seq2seq4repair_space>hierarchy<seq2seq4repair_space>changed<seq2seq4repair_space>between<seq2seq4repair_space>rendering<seq2seq4repair_space>and<seq2seq4repair_space>form<seq2seq4repair_space>submission." ) ) ; } if ( isModelCollection ) { ( ( Collection ) ( object ) ) . add ( option . getModelObject ( ) ) ; } else { setModelObject ( option . getModelObject ( ) ) ; } } } } if ( isModelCollection ) { modelChanged ( ) ; } } }

Fix:
getModel ( ) . setObject ( null ) ;