Buggy code:
public abstract class Component implements Serializable , IConverterSource { private static Log log = LogFactory . getLog ( Component . class ) ; List attributeModifiers = null ; private IModel model ; private String name ; private MarkupContainer parent ; private int rendering = 0 ; private boolean shouldEscapeModelStrings = true ; private boolean visible = true ; public static interface IVisitor { public static Object CONTINUE_TRAVERSAL = null ; public static Object STOP_TRAVERSAL = new Object ( ) ; public Object component ( Component component ) { } } public Component ( final String name ) { } public Component ( final String name , final IModel model ) { } public Component ( String name , Serializable object ) { } public Component ( String name , Serializable object , String expression ) { } public final Component add ( final AttributeModifier modifier ) { } 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 IConverter getConverter ( ) { } public final FeedbackMessage getFeedbackMessage ( ) { } public final Locale getLocale ( ) { } public final Localizer getLocalizer ( ) { } public IModel getModel ( ) { } public final Object getModelLock ( ) { } public final Object getModelObject ( ) { } public final String getModelObjectAsString ( ) { } public String getName ( ) { } public final Page getPage ( ) { } public final IPageFactory getPageFactory ( ) { } public final String getPageRelativePath ( ) { } public final MarkupContainer getParent ( ) { } public final String getPath ( ) { } public final int getRendering ( ) { } public final Request getRequest ( ) { } public final RequestCycle getRequestCycle ( ) { } public final Response getResponse ( ) { } public Session getSession ( ) { } public final boolean getShouldEscapeModelStrings ( ) { } public final String getStyle ( ) { } public final boolean hasErrorMessage ( ) { } public final boolean hasFeedbackMessage ( ) { } public final void info ( final String message ) { } public final boolean isVisible ( ) { } public final void modelChanged ( ) { } public void modelChangedStructure ( ) { } public void render ( ) { } public final boolean sameRootModel ( final Component component ) { } public final boolean sameRootModel ( final IModel model ) { } public final void setModelObject ( final Object value ) { } public final Component setShouldEscapeModelStrings ( final boolean escapeMarkup ) { } public final Component setVisible ( final boolean visible ) { } public String toString ( ) { } public final void warn ( final String message ) { } 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 IModel initModel ( ) { <START_BUG> return null ; <END_BUG> } protected void onComponentTag ( final ComponentTag tag ) { } protected void onComponentTagBody ( final MarkupStream markupStream , final ComponentTag openTag ) { } protected void onModelChanged ( ) { } protected abstract void onRender ( ) { } protected final void renderComponent ( final MarkupStream markupStream ) { } protected final void renderComponentTag ( ComponentTag tag ) { } protected final void renderComponentTag ( final MarkupStream markupStream ) { } protected final void replaceComponentTagBody ( final MarkupStream markupStream , final ComponentTag tag , final String body ) { } protected final Object visitParents ( final Class c , final Component . IVisitor visitor ) { } final void checkRendering ( final Page page ) { } Component get ( final String path ) { } final void renderClosingComponentTag ( final MarkupStream markupStream , final ComponentTag openTag ) { } final void setParent ( final MarkupContainer parent ) { } private final Page findPage ( ) { } private final Component setModel ( final IModel model ) { } private final void setName ( final String name ) { } }

Fix:
return new wicket . model . PropertyModel ( getPage ( ) . getModel ( ) , getName ( ) ) ;