private static Predicate and(Predicate lhs, Predicate rhs) {
        if (lhs == null) {
            return rhs;
        } else {
            return ExpressionUtils.and(lhs, rhs);
        }
    }
{@code DefaultQueryMetadata} is the default implementation of the {@link QueryMetadata} interface.

<p>{@code DefaultQueryMetadata} is mutable, but {@link DefaultQueryMetadata#clone()} can be used to
created deep copies to refine the state without modifying the initial instance.</p>

@author tiwe
querydsl-core/src/main/java/com/querydsl/core/DefaultQueryMetadata.java