public static void extractColumnSegments(final Collection<ColumnSegment> columnSegments, final Collection<WhereSegment> whereSegments) {
        for (WhereSegment each : whereSegments) {
            for (AndPredicate andPredicate : ExpressionExtractUtils.getAndPredicates(each.getExpr())) {
                extractColumnSegments(columnSegments, andPredicate);
            }
        }
    }
@Test
    void assertExtractColumnSegments() {
        Collection<ColumnSegment> columnSegments = new LinkedList<>();
        ColumnExtractUtils.extractColumnSegments(columnSegments, createWhereSegments());
        assertThat(columnSegments.size(), is(2));
        Iterator<ColumnSegment> iterator = columnSegments.iterator();
        ColumnSegment firstColumn = iterator.next();
        assertThat(firstColumn.getIdentifier().getValue(), is("name"));
        ColumnSegment secondColumn = iterator.next();
        assertThat(secondColumn.getIdentifier().getValue(), is("pwd"));
    }