@Nullable
  private static List<Supplier<ReflectiveType>> getLazyMethodSignatureForReturnTypeAndList(@NotNull PsiMethodCallExpression call) {
    final PsiExpression[] arguments = call.getArgumentList().getExpressions();
    if (arguments.length == 2) {
      final PsiExpression list = arguments[1];
      final List<PsiExpression> components = getListComponents(list);
      if (components != null) {
        final PsiExpression returnType = findDefinition(arguments[0]);
        final List<PsiExpression> signature = ContainerUtil.prepend(components, returnType);
        return ContainerUtil.map(signature, argument -> (() -> getReflectiveType(argument)));
      }
    }
    return null;
  }
@Nullable
  private static List<Supplier<ReflectiveType>> getLazyMethodSignatureForReturnTypeAndList(@NotNull PsiMethodCallExpression call)