Buggy code:
private static final int FLAG_RENDERING = 33554432 ; private static final int FLAG_AFTER_RENDERING = 134217728 ; private static final int FLAG_VISIBILITY_ALLOWED = 1073741824 ; private static final int FLAG_ATTACHED = 536870912 ; private static final int FLAG_DETACHING = - 2147483648 ; private static final Logger log = LoggerFactory . getLogger ( Component . class ) ; private static final String MARKUP_ID_ATTR_NAME = "id" ; private static final long serialVersionUID = 1L ; static final MetaDataKey ADDED_AT_KEY = new MetaDataKey ( String . class ) { private static final long serialVersionUID = 1L ; } ; static final MetaDataKey CONSTRUCTED_AT_KEY = new MetaDataKey ( String . class ) { private static final long serialVersionUID = 1L ; } ; private int flags = ( ( ( ( ( Component . FLAG_VISIBLE ) | ( Component . FLAG_ESCAPE_MODEL_STRINGS ) ) | ( Component . FLAG_VERSIONED ) ) | ( Component . FLAG_ENABLED ) ) | ( Component . FLAG_IS_RENDER_ALLOWED ) ) | ( Component . FLAG_VISIBILITY_ALLOWED ) ; private String id ; private MarkupContainer parent ; int markupIndex = - 1 ; int generatedMarkupId = - 1 ; Object data = null ; private final int data_length ( ) { } private final Object data_get ( int index ) { } private final Object data_set ( int index , Object object ) { } private final void data_add ( Object object ) { } private final void data_insert ( int position , Object object ) { } private Object data_remove ( int position ) { } public Component ( final String id ) { } public Component ( final String id , final IModel model ) { } public Component add ( final IBehavior behavior ) { } private void addBehavior ( final IBehavior behavior ) { } private List getBehaviorsImpl ( ) { } public final void afterRender ( ) { } private final void internalBeforeRender ( ) { } private static final MetaDataKey FEEDBACK_LIST = new MetaDataKey ( List . class ) { private static final long serialVersionUID = 1L ; } ; public final void beforeRender ( ) { } public final boolean continueToOriginalDestination ( ) { } public final void debug ( final String message ) { } public final void detach ( ) { } public final void detachBehaviors ( ) { } public void detachModels ( ) { } public final void error ( final Serializable message ) { } public final void fatal ( final String message ) { } public final MarkupContainer findParent ( final Class c ) { } public final MarkupContainer findParentWithAssociatedMarkup ( ) { } public final Application getApplication ( ) { } public final List getBehaviors ( ) { } public final String getClassRelativePath ( ) { } public final IComponentBorder getComponentBorder ( ) { } public final IConverter getConverter ( ) { } public IConverter getConverter ( Class type ) { } public final boolean getEscapeModelStrings ( ) { } public final FeedbackMessage getFeedbackMessage ( ) { } public String getId ( ) { } public final IModel getInnermostModel ( ) { } public Locale getLocale ( ) { } public final Localizer getLocalizer ( ) { } public final ValueMap getMarkupAttributes ( ) { } final Object getMarkupIdImpl ( ) { } private final int nextAutoIndex ( ) { } public String getMarkupId ( boolean createIfDoesNotExist ) { Object storedMarkupId = getMarkupIdImpl ( ) ; if ( storedMarkupId instanceof String ) { return ( ( String ) ( storedMarkupId ) ) ; } if ( ( storedMarkupId == null ) && ( createIfDoesNotExist == false ) ) { return null ; } final int generatedMarkupId = ( storedMarkupId instanceof Integer ) ? ( ( Integer ) ( storedMarkupId ) ) . intValue ( ) : Session . get ( ) . nextSequenceValue ( ) ; if ( storedMarkupId == null ) { setMarkupIdImpl ( new Integer ( generatedMarkupId ) ) ; } <START_BUG> String markupIdPrefix = "i" ; <END_BUG> if ( ! ( Application . get ( ) . getConfigurationType ( ) . equals ( DEPLOYMENT ) ) ) { markupIdPrefix = getId ( ) ; } String markupIdPostfix = Integer . toHexString ( generatedMarkupId ) . toLowerCase ( ) ; markupIdPostfix = RequestContext . get ( ) . encodeMarkupId ( markupIdPostfix ) ; String markupId = markupIdPrefix + markupIdPostfix ; char c = markupId . charAt ( 0 ) ; if ( ! ( Character . isLetter ( c ) ) ) { markupId = "id" + markupId ; } markupId = org . apache . wicket . util . string . Strings . replaceAll ( markupId , "_" , "__" ) . toString ( ) ; markupId = markupId . replace ( '.' , '_' ) ; markupId = markupId . replace ( '-' , '_' ) ; return markupId ; } public String getMarkupId ( ) { } public final Serializable getMetaData ( final MetaDataKey key ) { } private MetaDataEntry [ ] getMetaData ( ) { } public final IModel getModel ( ) { } public final Object getModelObject ( ) { } public final String getModelObjectAsString ( ) { } public final String getModelObjectAsString ( final Object modelObject ) { } public final boolean getOutputMarkupId ( ) { } public final boolean getOutputMarkupPlaceholderTag ( ) { } public final Page getPage ( ) { } public final IPageFactory getPageFactory ( ) { } public final String getPageRelativePath ( ) { } public final MarkupContainer getParent ( ) { } public final String getPath ( ) { } public final boolean getRenderBodyOnly ( ) { } public final Request getRequest ( ) { } public final RequestCycle getRequestCycle ( ) { } public final Response getResponse ( ) { } public Session getSession ( ) { } public long getSizeInBytes ( ) { } public final String getString ( final String key ) { } public final String getString ( final String key , final IModel model ) { }

Fix:
String markupIdPrefix = "id" ;