def METHOD_NAME(self, conn, statement, obfuscated_statement, query_signature):
    null_parameter = ','.join(
        'null' for _ in range(self._get_number_of_parameters_for_prepared_statement(conn, query_signature))
    )
    execute_prepared_statement_query = EXECUTE_PREPARED_STATEMENT_QUERY.format(
        prepared_statement=query_signature, generic_values=null_parameter
    )
    try:
        return self._execute_query_and_fetch_rows(
            conn,
            EXPLAIN_QUERY.format(
                explain_function=self._config.statement_samples_config.get(
                    'explain_function', 'datadog.explain_statement'
                ),
                statement=execute_prepared_statement_query,
            ),
        )
    except Exception as e:
        logged_statement = obfuscated_statement
        if self._config.log_unobfuscated_plans:
            logged_statement = statement
        logger.warning(
            'Failed to explain parameterized statement(%s)=[%s] | err=[%s]',
            query_signature,
            logged_statement,
            e,
        )
    return None