private static @Nullable PsiField getField(PsiExpression left, PsiExpression right, PsiVariable that) {
    if (!(PsiUtil.skipParenthesizedExprDown(left) instanceof PsiReferenceExpression leftRef)) return null;
    if (!(PsiUtil.skipParenthesizedExprDown(right) instanceof PsiReferenceExpression rightRef)) return null;
    if (!(leftRef.resolve() instanceof PsiField leftField)) return null;
    if (!(rightRef.resolve() instanceof PsiField rightField)) return null;
    if (!leftField.isEquivalentTo(rightField)) return null;
    PsiExpression leftQualifier = leftRef.getQualifierExpression();
    PsiExpression rightQualifier = rightRef.getQualifierExpression();
    if (ExpressionUtils.isReferenceTo(leftQualifier, that) &&
        (rightQualifier == null || rightQualifier instanceof PsiThisExpression thisExpression && thisExpression.getQualifier() == null)) {
      return leftField;
    }
    if (ExpressionUtils.isReferenceTo(rightQualifier, that) &&
        (leftQualifier == null || leftQualifier instanceof PsiThisExpression thisExpression && thisExpression.getQualifier() == null)) {
      return leftField;
    }
    return null;
  }
private static @Nullable PsiField getField(PsiExpression left, PsiExpression right, PsiVariable that)