TextArea resize in grid column

An example:

private Component getGridTest() {
    var data = new ArrayList<ArrayList<String>>(){{
        add(new ArrayList<>(){{
            add("11");
            add("12");
            add("13");
            add("14");
        }});
        add(new ArrayList<>(){{
            add("21");
            add("22");
            add("23");
            add("24");
        }});
        add(new ArrayList<>(){{
            add("31");
            add("32");
            add("33");
            add("34");
        }});
        add(new ArrayList<>(){{
            add("41");
            add("42");
            add("43");
            add("44");
        }});
    }};

    var grid = new Grid<ArrayList<String>>();
    grid.addColumn(new ComponentRenderer<>(p -> {
        var tx = new TextArea();
        tx.getStyle().set("overflow", "auto");
        tx.getStyle().set("resize", "both");
        tx.getStyle().set("border", "1px solid red");
        return tx;
    }));
    grid.addColumn(new ComponentRenderer<>(p -> {
        var tx = new TextArea();
        tx.getStyle().set("overflow", "auto");
        tx.getStyle().set("resize", "both");
        tx.getStyle().set("border", "1px solid red");
        return tx;
    }));
    grid.addColumn(new ComponentRenderer<>(p -> {
        var tx = new TextArea();
        tx.getStyle().set("overflow", "auto");
        tx.getStyle().set("resize", "both");
        tx.getStyle().set("border", "1px solid red");
        return tx;
    }));
    grid.addColumn(new ComponentRenderer<>(p -> {
        var tx = new TextArea();
        tx.getStyle().set("overflow", "auto");
        tx.getStyle().set("resize", "both");
        tx.getStyle().set("border", "1px solid red");
        return tx;
    }));

    grid.setItems(data);

    return grid;
}