public String marshal() {
        StringBuilder result = new StringBuilder();
        for (JobDataNodeEntry each : entries) {
            result.append(each.marshal()).append('|');
        }
        if (!entries.isEmpty()) {
            result.setLength(result.length() - 1);
        }
        return result.toString();
    }
@Test
    void assertMarshal() {
        String actual = new JobDataNodeLine(Arrays.asList(
                new JobDataNodeEntry("t_order", Arrays.asList(new DataNode("ds_0.t_order_0"), new DataNode("ds_0.t_order_1"))),
                new JobDataNodeEntry("t_order_item", Arrays.asList(new DataNode("ds_0.t_order_item_0"), new DataNode("ds_0.t_order_item_1"))))).marshal();
        String expected = "t_order:ds_0.t_order_0,ds_0.t_order_1|t_order_item:ds_0.t_order_item_0,ds_0.t_order_item_1";
        assertThat(actual, is(expected));
    }