public int compare(final Method m1, final Method m2) {
        int rtn = 0;
        final int m1Idx = classHierarchy.indexOf(m1.getDeclaringClass());

        final int m2Idx = classHierarchy.indexOf(m2.getDeclaringClass());

        if (m1Idx == -1 || m2Idx == -1) {
            throw new IllegalStateException("Got methods not in our known class hierachy");
        }

        if (m1Idx == m2Idx) {
            // both methods are in the same class
            rtn = m1.getName().compareTo(m2.getName());
        } else {
            rtn = m2Idx - m1Idx;
        }

        if (rtn == 0) {
            throw new IllegalStateException("Two methods can never be considered equal");
        }

        return rtn;
    }
public int compare ( final Method m1 , final Method m2 ) { int rtn = 0 ; final int m1Idx = classHierarchy . indexOf ( m1 . getDeclaringClass ( ) ) ; final int m2Idx = classHierarchy . indexOf ( m2 . getDeclaringClass ( ) ) ; if ( m1Idx == - 1 || m2Idx == - 1 ) { throw new IllegalStateException ( "Got methods not in our known class hierachy" ) ; } if ( m1Idx == m2Idx ) { rtn = m1 . getName ( ) . compareTo ( m2 . getName ( ) ) ; } else { rtn = m2Idx - m1Idx ; } if ( rtn == 0 ) { throw new IllegalStateException ( "Two methods can never be considered equal" ) ; } return rtn ; }
{@inheritDoc}