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 ( 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 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 final 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 Boolean getRequestBoolean ( ) { } public final RequestCycle getRequestCycle ( ) { } public final int getRequestInt ( ) { } public final int getRequestInt ( final int defaultValue ) { } public final int [ ] getRequestInts ( ) { } public final String getRequestString ( ) { } public final String [ ] getRequestStrings ( ) { } 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 void render ( ) { } public final Component setModel ( 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 final MarkupContainer findParentWithAssociatedMarkup ( ) { } protected void invalidateModel ( ) { } protected void onComponentTag ( final ComponentTag tag ) { } protected void onComponentTagBody ( final MarkupStream markupStream , final ComponentTag openTag ) { } protected abstract void onRender ( ) { } protected final void renderComponent ( final MarkupStream markupStream ) { } protected final void renderComponentTag ( ComponentTag tag ) { final ApplicationSettings settings = getApplication ( ) . getSettings ( ) ; <START_BUG> if ( ( ! ( tag instanceof ComponentWicketTag ) ) || ( ! ( settings . getStripWicketTag ( ) ) ) ) { <END_BUG> if ( ( ( attributeModifiers ) != null ) && ( ( tag . getType ( ) ) != ( XmlTag . CLOSE ) ) ) { tag = tag . mutable ( ) ; for ( Iterator it = attributeModifiers . iterator ( ) ; it . hasNext ( ) ; ) { ( ( AttributeModifier ) ( it . next ( ) ) ) . replaceAttibuteValue ( tag ) ; } } if ( settings . getStripComponentNames ( ) ) { tag = tag . mutable ( ) ; tag . removeComponentName ( settings . getComponentNameAttribute ( ) ) ; } getResponse ( ) . write ( 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 void setName ( final String name ) { } }

Fix:
if ( ( ! ( tag instanceof ComponentWicketTag ) ) || ( ! ( settings . getStripWicketTags ( ) ) ) ) {