Match (@NotNull PsiSynchronizedStatement statement1, @NotNull PsiSynchronizedStatement statement2) { final PsiExpression lock1 = statement1.getLockExpression(); final PsiExpression lock2 = statement2.getLockExpression(); final PsiCodeBlock body1 = statement1.getBody(); final PsiCodeBlock body2 = statement2.getBody(); final Match lockEq = expressionsMatch(lock1, lock2); final Match blockEq = codeBlocksMatch(body1, body2); return getComplexElementDecision(blockEq, lockEq, body1, body2, lock1, lock2); }