public static Collection<SubquerySegment> getSubquerySegments(final SelectStatement selectStatement) {
        List<SubquerySegment> result = new LinkedList<>();
        extractSubquerySegments(result, selectStatement);
        return result;
    }
@Test
    void assertGetSubquerySegmentsWithCombineSegment() {
        SelectStatement selectStatement = mock(SelectStatement.class);
        SubquerySegment left = new SubquerySegment(0, 0, mock(SelectStatement.class), "");
        SubquerySegment right = createSelectStatementForCombineSegment();
        when(selectStatement.getCombine()).thenReturn(Optional.of(new CombineSegment(0, 0, left, CombineType.UNION, right)));
        Collection<SubquerySegment> actual = SubqueryExtractUtils.getSubquerySegments(selectStatement);
        assertThat(actual.size(), is(3));
    }