static MultiLineString buildMultiLineString(TDWay outerWay, List<TDWay> innerWays) {
        List<LineString> lineStrings = new ArrayList<>();
        // outer way geometry
        lineStrings.add(buildLineString(outerWay));

        // inner strings
        if (innerWays != null) {
            for (TDWay innerWay : innerWays) {
                LineString innerRing = buildLineString(innerWay);
                lineStrings.add(innerRing);
            }
        }

        return GEOMETRY_FACTORY.createMultiLineString(lineStrings.toArray(new LineString[lineStrings.size()]));
    }
@Test
    public void testBuildValidMultiLineString() {
        String testfile = "valid-multilinestring.wkt";

        List<TDWay> ways = MockingUtils.wktMultiLineStringToWays(testfile);
        MultiLineString mls = JTSUtils.buildMultiLineString(ways.get(0), ways.subList(1, ways.size()));
        Geometry expected = MockingUtils.readWKTFile(testfile);
        Assert.isTrue(mls.isValid());
        Assert.equals(expected, mls);
    }