Predicate LockOrderInconsistency::badSynchronizedStmtLockOrder

In one situation, two synchronized statements outer and inner obtain locks on different variables in one order, and elsewhere, the lock order is reversed, starting with otherOuter.

predicate badSynchronizedStmtLockOrder(Expr outerExpr, Expr innerExpr, Expr otherOuterExpr)