Buggy code:
public final Component setEnabled ( final boolean enabled ) { } public final Component setEscapeModelStrings ( final boolean escapeMarkup ) { } public final void setMarkupIdImpl ( Object markupId ) { } public Component setMarkupId ( String markupId ) { } public final < M > void setMetaData ( final MetaDataKey < M > key , final M object ) { } public Component setDefaultModel ( final IModel < ? > model ) { } IModel < ? > getModelImpl ( ) { } void setModelImpl ( IModel < ? > model ) { } @ SuppressWarnings ( "unchecked" ) public final Component setDefaultModelObject ( final Object object ) { } public final Component setOutputMarkupId ( final boolean output ) { } public final Component setOutputMarkupPlaceholderTag ( final boolean outputTag ) { } public final Component setRenderBodyOnly ( final boolean renderTag ) { } public final < C extends Page > void setResponsePage ( final Class < C > cls ) { } public final < C extends Page > void setResponsePage ( final Class < C > cls , PageParameters parameters ) { } public final void setResponsePage ( final Page page ) { } public Component setVersioned ( boolean versioned ) { } public final Component setVisible ( final boolean visible ) { } @ Override public String toString ( ) { } public String toString ( final boolean detailed ) { } public final < C extends Page > CharSequence urlFor ( final Class < C > pageClass , final PageParameters parameters ) { } public final CharSequence urlFor ( final IBehavior behaviour , final RequestListenerInterface listener ) { } public final CharSequence urlFor ( final IRequestHandler requestHandler ) { } public final CharSequence urlFor ( final RequestListenerInterface listener ) { } public final CharSequence urlFor ( final ResourceReference resourceReference ) { } public final Object visitParents ( final Class < ? > c , final Component . IVisitor < Component > visitor ) { } public final void warn ( final String message ) { } private void notifyBehaviorsComponentBeforeRender ( ) { } private void notifyBehaviorsComponentRendered ( ) { } protected final void addStateChange ( ) { } 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 checkHierarchyChange ( final Component component ) { } protected void detachModel ( ) { } protected final String exceptionMessage ( final String message ) { } protected final MarkupStream findMarkupStream ( ) { } protected final Page findPage ( ) { } @ SuppressWarnings ( "unchecked" ) protected < M extends IBehavior > List < M > getBehaviors ( Class < M > type ) { } protected final boolean getFlag ( final int flag ) { } protected final boolean getFlag ( final short flag ) { } protected final IModel < ? > getInnermostModel ( final IModel < ? > model ) { } public IModelComparator getModelComparator ( ) { } protected boolean getStatelessHint ( ) { } @ SuppressWarnings ( "unchecked" ) protected IModel < ? > initModel ( ) { } protected void internalOnModelChanged ( ) { } protected final void markAttached ( boolean attached ) { } protected final boolean isAttached ( ) { } protected boolean isBehaviorAccepted ( final IBehavior behavior ) { } protected final boolean isIgnoreAttributeModifier ( ) { } protected MarkupStream locateMarkupStream ( ) { } protected void onAfterRender ( ) { } protected void onBeforeRender ( ) { } protected boolean callOnBeforeRenderIfNotVisible ( ) { } protected void onComponentTag ( final ComponentTag tag ) { } protected void onComponentTagBody ( final MarkupStream markupStream , final ComponentTag openTag ) { } protected void onDetach ( ) { } protected void onRemove ( ) { } protected void onModelChanged ( ) { } protected void onModelChanging ( ) { } protected abstract void onRender ( ) { } protected final boolean renderComponentTag ( ComponentTag tag ) { } protected final void replaceComponentTagBody ( final MarkupStream markupStream , final ComponentTag tag , final CharSequence body ) { } protected final void setAuto ( final boolean auto ) { } protected final void setFlag ( final int flag , final boolean set ) { } protected final void setFlag ( final short flag , final boolean set ) { } protected final Component setIgnoreAttributeModifier ( final boolean ignore ) { } protected void setMarkupStream ( final MarkupStream markupStream ) { } protected final < V > IModel < V > wrap ( final IModel < V > model ) { } void detachChildren ( ) { } void removeChildren ( ) { } public Component get ( final String path ) { } final boolean hasMarkupIdMetaData ( ) { } void internalMarkRendering ( boolean setRenderingFlag ) { } public final boolean isAuto ( ) { } boolean isPreparedForRender ( ) { } void onAfterRenderChildren ( ) { } void onBeforeRenderChildren ( ) { } final void renderClosingComponentTag ( final MarkupStream markupStream , final ComponentTag openTag , final boolean renderBodyOnly ) { } final void setId ( final String id ) { } final void setParent ( final MarkupContainer parent ) { } final void setRenderAllowed ( boolean renderAllowed ) { } void setRenderAllowed ( ) { } public final Component setVisibilityAllowed ( boolean allowed ) { } public final boolean isVisibilityAllowed ( ) { } public final boolean determineVisibility ( ) { } public final boolean isEnabledInHierarchy ( ) { } public boolean canCallListenerInterface ( ) { <START_BUG> if ( ( ! ( isEnabled ( ) ) ) || ( ! ( determineVisibility ( ) ) ) ) { <END_BUG> return false ; } else if ( ( getParent ( ) ) != null ) { return getParent ( ) . canCallListenerInterface ( ) ; } else { return false ; } } }

Fix:
if ( ( ! ( isEnabledInHierarchy ( ) ) ) || ( ! ( determineVisibility ( ) ) ) ) {