@Override
    public Condition apply(final ExpressionItem item) {
        LOGGER.debug(() -> item != null
                ? item.toMultiLineString()
                : null);
        final Optional<Condition> optional = innerApply(item);
        LOGGER.debug(() -> optional.map(Object::toString).orElse(null));
        return optional.orElse(DSL.noCondition());
    }
Converts the passed {@link ExpressionItem} into a Jooq {@link Condition}. By default it
will simplify expressions that can be simplified, e.g. NOT {NOT{}} becomes true, an OR
with one child that is true becomes true, etc. It will always return a value.
stroom-db-util/src/main/java/stroom/db/util/CommonExpressionMapper.java