default <T> Stream<T> executeQuery(
        Dbms dbms,
        String sql,
        SqlFunction<ResultSet, T> rsMapper) {

        return executeQuery(dbms, sql, Collections.emptyList(), rsMapper);
    }
Eagerly executes a SQL query and subsequently maps each row in the
ResultSet using a provided mapper and return a Stream of the mapped
objects. The ResultSet is eagerly consumed so that all elements in the
ResultSet are read before the Stream produces any objects. If no objects
are present or if an SQLException is thrown internally, an {@code empty}
stream is returned.

@param <T> the type of the objects in the stream to return
@param dbms the dbms to send it to
@param sql the SQL command to execute
@param rsMapper the mapper to use when iterating over the ResultSet
@return a stream of the mapped objects
runtime-parent/runtime-core/src/main/java/com/speedment/runtime/core/db/DbmsOperationHandler.java