DuplicateExpressionsContext (@NotNull PsiExpression expression, @NotNull UserDataHolder session) { PsiCodeBlock nearestBody = findNearestBody(expression); if (nearestBody != null) { Map<PsiCodeBlock, DuplicateExpressionsContext> contexts = session.getUserData(CONTEXTS_KEY); if (contexts == null) { session.putUserData(CONTEXTS_KEY, contexts = new HashMap<>()); } return contexts.computeIfAbsent(nearestBody, unused -> new DuplicateExpressionsContext()); } return null; }