@Override
    public void execute(
        Collection<String> statements,
        String scriptPath,
        boolean continueOnError,
        boolean ignoreFailedDrops
    ) {
        final String containerInterfaceIP = container
            .getContainerInfo()
            .getNetworkSettings()
            .getNetworks()
            .entrySet()
            .stream()
            .findFirst()
            .get()
            .getValue()
            .getIpAddress();
        try {
            ExecResult result = container.execInContainer(
                BIN_PATH,
                containerInterfaceIP,
                "-u",
                container.getUsername(),
                "-p",
                container.getPassword(),
                "-k",
                container.getKeyspace(),
                "-e",
                StringUtils.join(statements, ";")
            );
            if (result.getExitCode() != 0) {
                throw new RuntimeException(result.getStderr());
            }
        } catch (Exception e) {
            log.debug(e.getMessage(), e);
            throw new UncategorizedScriptException(e.getMessage(), e);
        }
    }
Query execution delegate class for YCQL API to delegate init-script statements. This
invokes the in-built <code>ycqlsh</code> cli within the container to execute the
statements at one go. It is recommended to use frameworks such as liquibase to manage
this requirement. This functionality is kept to address the initialization requirements
from standalone services that can't leverage liquibase or something similar.

@see YugabyteDBYCQLContainer
modules/yugabytedb/src/main/java/org/testcontainers/containers/delegate/YugabyteDBYCQLDelegate.java