Buggy code:
EnabledChange ( final Component component ) { } public void undo ( ) { } } protected static final class VisibilityChange extends Change { private static final long serialVersionUID = 1L ; private final Component component ; private final boolean visible ; VisibilityChange ( final Component component ) { } public void undo ( ) { } } public Component ( final String id ) { } public Component ( final String id , final IModel model ) { } public final Component add ( final IBehaviour behaviour ) { } public final void debug ( final String message ) { } public final void error ( final String 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 ApplicationPages getApplicationPages ( ) { } public final ApplicationSettings getApplicationSettings ( ) { } public final String getClassRelativePath ( ) { } public IConverter getConverter ( ) { } public final boolean getEscapeModelStrings ( ) { } public final FeedbackMessage getFeedbackMessage ( ) { } public final String getId ( ) { } public final Locale getLocale ( ) { } public final Localizer getLocalizer ( ) { } public final Serializable getMetaData ( final MetaDataKey key ) { } public IModel getModel ( ) { } public final Object getModelObject ( ) { } public final String getModelObjectAsString ( ) { } public final Page getPage ( ) { } public final IPageFactory getPageFactory ( ) { } public final String getPageRelativePath ( ) { } public final MarkupContainer getParent ( ) { } public final String getPath ( ) { } public final Request getRequest ( ) { } public final RequestCycle getRequestCycle ( ) { } public final Resource getResource ( ) { } public final Response getResponse ( ) { } public final Session getSession ( ) { } public final String getString ( final String key ) { } public final String getString ( final String key , final IModel model ) { } public final String getString ( final String key , final IModel model , final String defaultValue ) { } public final String getStyle ( ) { } public String getVariation ( ) { } public final boolean hasErrorMessage ( ) { } public final boolean hasFeedbackMessage ( ) { } public final void info ( final String message ) { } public final boolean isAncestorOf ( final Component component ) { } public boolean isEnabled ( ) { } public boolean isVersioned ( ) { } public boolean isVisible ( ) { } public final boolean isVisibleInHierarchy ( ) { } public final void modelChanged ( ) { } public final void modelChanging ( ) { } public final Page newPage ( final Class c ) { } public final Page newPage ( final Class c , final PageParameters parameters ) { } public void onRequest ( ) { } public final void remove ( ) { } public final void render ( ) { } public final void renderComponent ( final MarkupStream markupStream ) { } public final void rendered ( ) { } public final boolean sameRootModel ( final Component component ) { } public final boolean sameRootModel ( final IModel model ) { } public final Component setEnabled ( final boolean enabled ) { } public final Component setEscapeModelStrings ( final boolean escapeMarkup ) { } public final void setMetaData ( final MetaDataKey key , final Serializable object ) { } public Component setModel ( final IModel model ) { if ( ( this . model ) != null ) { this . model . detach ( ) ; } if ( ( this . model ) != model ) { addStateChange ( new Component . ComponentModelChange ( this . model ) ) ; this . model = model ; } <START_BUG> if ( model instanceof CompoundPropertyModel ) { <END_BUG> setFlag ( Component . FLAG_HAS_ROOT_MODEL , true ) ; } modelChanged ( ) ; return this ; } public final Component setModelObject ( final Object object ) { } public final void setRedirect ( final boolean redirect ) { } public final Component setRenderBodyOnly ( final boolean renderTag ) { } public final void setResponsePage ( final Class cls ) { } public final void setResponsePage ( final Class cls , PageParameters parameters ) { } public final void setResponsePage ( final Page page ) { } public Component setVersioned ( boolean versioned ) { } public final Component setVisible ( final boolean visible ) { } public String toString ( ) { } public String toString ( final boolean detailed ) { } public final String urlFor ( final IBehaviourListener behaviourListener ) { } public final String urlFor ( final Class listenerInterface ) { } public final void warn ( final String message ) { } protected final void addStateChange ( Change change ) { } protected final void checkComponentTag ( final ComponentTag tag , final String name ) { } protected final void checkComponentTagAttribute ( final ComponentTag tag , final String key , final String value ) { } protected void detachModel ( ) { } protected final String exceptionMessage ( final String message ) { } protected MarkupStream findMarkupStream ( ) { } protected final Page findPage ( ) { } protected IComponentValueComparator getComparator ( ) { } protected final boolean getFlag ( final short flag ) { } protected final boolean getRenderBodyOnly ( ) { } protected IModel initModel ( ) { } protected void internalBeginRequest ( ) { } protected void internalEndRequest ( ) { } protected void internalOnBeginRequest ( ) { } protected void internalOnEndRequest ( ) { } protected void internalOnModelChanged ( ) { } protected void internalOnModelChanging ( ) { } public void invalidateMarkupStreamPosition ( ) { } protected void onBeginRequest ( ) { }

Fix:
if ( model instanceof ICompoundModel ) {