presto-main/src/main/java/io/prestosql/sql/planner/plan/ValuesNode.java/ValuesNode/ValuesNode
class ValuesNode:    @JsonCreator
    public ValuesNode(@JsonProperty("id") PlanNodeId id,
            @JsonProperty("outputSymbols") List<Symbol> outputSymbols,
            @JsonProperty("rows") List<List<Expression>> rows)
    {
        super(id);
        this.outputSymbols = ImmutableList.copyOf(outputSymbols);
        this.rows = listOfListsCopy(rows);

        for (List<Expression> row : rows) {
            checkArgument(row.size() == outputSymbols.size() || row.size() == 0,
                    "Expected row to have %s values, but row has %s values", outputSymbols.size(), row.size());
        }
    }