Boolean (@NotNull PsiReferenceExpression pattern, @NotNull PsiReferenceExpression candidate, @NotNull Match match) { final PsiExpression patternQualifier = pattern.getQualifierExpression(); final PsiExpression candidateQualifier = candidate.getQualifierExpression(); if (patternQualifier == null) { return matchUnqualifiedPatternReference(pattern, candidateQualifier, match); } if (candidateQualifier == null) { return matchUnqualifiedCandidateReference(patternQualifier, candidate, match); } if (patternQualifier instanceof PsiThisExpression && candidateQualifier instanceof PsiThisExpression) { return matchThisQualifierReference((PsiThisExpression)patternQualifier, (PsiThisExpression)candidateQualifier); } return null; }