private static int getAnonCompilePriority50(IJavaElement javaElement, IJavaElement firstAncestor, IJavaElement topAncestor) {

        // search for initializer block
        IJavaElement initBlock = getLastAncestor(javaElement, IJavaElement.INITIALIZER);
        // test is for anon. classes from initializer blocks
        if (initBlock != null) {
            return 10; // from inner from class init
        }

        // test for anon. classes from "regular" code
        return 5;
    }
private static int getAnonCompilePriority50 ( IJavaElement javaElement , IJavaElement firstAncestor , IJavaElement topAncestor ) { IJavaElement initBlock = getLastAncestor ( javaElement , IJavaElement . INITIALIZER ) ; if ( initBlock != null ) { return 10 ; } return 5 ; }
1) from instance init 2) from deepest inner from instance init (deepest
first) 3) from static init 4) from deepest inner from static init
(deepest first) 5) from deepest inner (deepest first) 6) regular anon
classes from main class

<br>
Note, that nested inner anon. classes which do not have different
non-anon. inner class ancestors, are compiled in they nesting order,
opposite to rule 2)

@param javaElement
@return priority - lesser mean wil be compiled later, a value > 0