"Comparison Method violates it's general contract!" Crash

Just an infodump while I wrestle with the branch reintegration of AbilityWork.
This crash is a result of the stricter approach of Java 1.7 to non-transitive comparison methods (ie if A >= B and B >= C is true then A >= C should be true but isn't). The error isn't actually in our code but in Swing's LayoutFocusTraversalPolicy class, as I understand it, and is apparently a regression in 1.7 (1.5 apparently also had this problem, so 1.6 is the sweet-spot). LayoutFocusTraversalPolicy handles in which order UI components should recieve focus. The latest bug report I've found on this was closed as not reproducible.
Two solutions I've found in old threads and bug reports are:
This crash is a result of the stricter approach of Java 1.7 to non-transitive comparison methods (ie if A >= B and B >= C is true then A >= C should be true but isn't). The error isn't actually in our code but in Swing's LayoutFocusTraversalPolicy class, as I understand it, and is apparently a regression in 1.7 (1.5 apparently also had this problem, so 1.6 is the sweet-spot). LayoutFocusTraversalPolicy handles in which order UI components should recieve focus. The latest bug report I've found on this was closed as not reproducible.

Two solutions I've found in old threads and bug reports are:
- Setting the System Property "java.util.Arrays.useLegacyMergeSort" to true via System.setProperty(). Pros: Easily done. Cons: May create issues elsewhere, not 100% certain to fix the problem, more of a workaround than a fix.
- Writing one or (more likely) several custom FocusTraversalPolicies for each panel with multiple components. Pros: Likely more robust. Cons: Not sure how much work this would need (probably quite a bit), possibly overkill.