public static ExpressionStmt createArraysAsListFromList(List<?> source) {
        ExpressionStmt toReturn = createArraysAsListExpression();
        MethodCallExpr arraysCallExpression = toReturn.getExpression().asMethodCallExpr();
        NodeList<Expression> arguments = new NodeList<>();
        source.forEach(value -> arguments.add(getExpressionForObject(value)));
        arraysCallExpression.setArguments(arguments);
        toReturn.setExpression(arraysCallExpression);
        return toReturn;
    }
@Test
    void createArraysAsListFromList() {
        List<String> strings = IntStream.range(0, 3)
                .mapToObj(i -> "Element" + i)
                .collect(Collectors.toList());
        ExpressionStmt retrieved = CommonCodegenUtils.createArraysAsListFromList(strings);
        assertThat(retrieved).isNotNull();
        String arguments = strings.stream()
                .map(string -> "\"" + string + "\"")
                .collect(Collectors.joining(", "));
        String expected = String.format("java.util.Arrays.asList(%s);", arguments);
        String retrievedString = retrieved.toString();
        assertThat(retrievedString).isEqualTo(expected);
        List<Double> doubles = IntStream.range(0, 3)
                .mapToObj(i ->  i * 0.17)
                .collect(Collectors.toList());
        retrieved = CommonCodegenUtils.createArraysAsListFromList(doubles);
        assertThat(retrieved).isNotNull();
        arguments = doubles.stream()
                .map(String::valueOf)
                .collect(Collectors.joining(", "));
        expected = String.format("java.util.Arrays.asList(%s);", arguments);
        retrievedString = retrieved.toString();
        assertThat(retrievedString).isEqualTo(expected);
    }