CollectionType (@NotNull PsiMethodCallExpression call) { CollectionType type = MAPPER.mapFirst(call); if (type == null) return null; PsiType expectedType = ExpectedTypeUtils.findExpectedType(call, false); if (expectedType == null) return null; PsiClassType newType = TypeUtils.getType(type.myMutableClass, call); return expectedType.isAssignableFrom(newType) ? type : null; }