public static PrepopulatedCollectionModel fromList(PsiExpression listDefinition) {
      listDefinition = PsiUtil.skipParenthesizedExprDown(listDefinition);
      if(listDefinition instanceof PsiMethodCallExpression call) {
        if (ARRAYS_AS_LIST.test(call)) {
          PsiExpression[] expressions = call.getArgumentList().getExpressions();
          if (!MethodCallUtils.isVarArgCall(call) && expressions.length == 1) {
            PsiExpression arg = PsiUtil.skipParenthesizedExprDown(expressions[0]);
            PsiVariable variable = ExpressionUtils.resolveVariable(arg);
            if (variable != null) {
              PsiExpression[] elements = ExpressionUtils.getConstantArrayElements(variable);
              if (elements != null && ContainerUtil.all(elements, Objects::nonNull)) {
                expressions = elements;
              }
            }
          }
          return new PrepopulatedCollectionModel(Arrays.asList(expressions), Collections.emptyList(), "List");
        }
        return fromCollect(call, "List", COLLECTORS_TO_LIST);
      }
      if(listDefinition instanceof PsiNewExpression newExpression) {
        return fromNewExpression(newExpression, "List", JAVA_UTIL_ARRAY_LIST);
      }
      if (listDefinition instanceof PsiReferenceExpression ref) {
        return fromVariable(ref, "List", JAVA_UTIL_ARRAY_LIST, COLLECTION_ADD);
      }
      return null;
    }
public static PrepopulatedCollectionModel fromList(PsiExpression listDefinition)