Hi, > It is doing the right thing for Java 6, but Java 7 is stricter. Sure understand that, but as I said looking at the code it seems to do the right thing ie can return 0,1 or -1 as required, obviously there something subtle in there.
It might be this section: CompilationUnit swcScript1CompilationUnit = swcScript1.getCompilationUnit(); CompilationUnit swcScript2CompilationUnit = swcScript2.getCompilationUnit(); if (swcScript1CompilationUnit != null) { if (swcScript1CompilationUnit.hasTypeInfo) { return -1; } } else if (swcScript2CompilationUnit != null) { if (swcScript2CompilationUnit.hasTypeInfo) { return 1; } } If swcScript1 == swcScript2 then that could possibly return -1 rather than the expected 0? Do we have a test case that we can reliable reproduce the issue? Thanks, Justin