public <T> Optional<T> findOptional(@NotNull RowMapper<T> rowMapper, @NotNull @SQL String sql, Object... args) {
return findOptional(rowMapper, SqlQuery.query(sql, args));
}
@NotNull
public <T> Optional<T> findOptional(@NotNull Class<T> cl, @NotNull SqlQuery query) {
<BUG>return executeQuery(new OptionalResultSetProcessor<>(resultProcessorForClass(cl)), query);
}</BUG>
@NotNull
public <T> Optional<T> findOptional(@NotNull Class<T> cl, @NotNull @SQL String sql, Object... args) {
return findOptional(cl, SqlQuery.query(sql, args));

public <T> Optional<T> findOptional(@NotNull RowMapper<T> rowMapper, @NotNull @SQL String sql, Object... args) {
return findOptional(rowMapper, SqlQuery.query(sql, args));
}
@NotNull
public <T> Optional<T> findOptional(@NotNull Class<T> cl, @NotNull SqlQuery query) {
return executeQuery(rowMapperForClass(cl).optional(), query);
}
@NotNull
public <T> Optional<T> findOptional(@NotNull Class<T> cl, @NotNull @SQL String sql, Object... args) {
return findOptional(cl, SqlQuery.query(sql, args));
