public static TestcontainersDatabaseInformation of(String user, String catalog, String schema, BiFunction<String, String, String> createStatement) {
        return new TestcontainersDatabaseInformation(user, catalog, schema, wrapperFor(createStatement));
    }
Creates a new database information instance that describes a database.

@param user            Specify a user that can create a new schema or database. If this parameter is null, the testcontainer specific default user,
                       returned by {@link JdbcDatabaseContainer#getUsername()} is used.
@param catalog         Specify a catalog that should be used. This is for databases that do not support creating a new catalog or require a fixed catalog
                       for schema creation (e.g. Trino). If null, use a random catalog identifier.
@param schema          Specify a schema that should be used. This is for databases that do not support schemas but create a new database for each test.
                       If null, use a random schema identifier.
@param createStatement A {@link BiFunction} that returns a single statement to create a new database or schema for test isolation. The function is called
                       with the catalog and schema name and must return a single, valid SQL statement.
@return A {@link TestcontainersDatabaseInformation} object
testcontainers/src/main/java/org/jdbi/v3/testing/junit5/tc/TestcontainersDatabaseInformation.java