private boolean isOverridden()

in org.eclipse.sisu.inject/src/org/eclipse/sisu/bean/LifecycleBuilder.java [117:139]


    private boolean isOverridden( final Method method )
    {
        // walk back down the cached hierarchy
        final String name = method.getName();
        for ( int i = hierarchy.size() - 1; i >= 0; i-- )
        {
            for ( final Method m : hierarchy.get( i ).getDeclaredMethods() )
            {
                // method with same name, void return, and no parameters
                if ( name.equals( m.getName() ) && isCandidateMethod( m ) )
                {
                    final int modifiers = m.getModifiers();
                    if ( Modifier.isPublic( modifiers ) || Modifier.isProtected( modifiers )
                        || ( !Modifier.isPrivate( modifiers ) && samePackage( method, m ) ) )
                    {
                        return true;
                    }
                    break; // can't have two candidates in same class, so proceed to subclass
                }
            }
        }
        return false;
    }