class UpdateToTagSqlCommandStep extends UpdateToTagCommandStep {

    public static final String[] COMMAND_NAME = {"updateToTagSql"};

    public static final CommandArgumentDefinition<String> CHANGELOG_FILE_ARG;
    public static final CommandArgumentDefinition<String> LABEL_FILTER_ARG;
    public static final CommandArgumentDefinition<String> CONTEXTS_ARG;
    public static final CommandArgumentDefinition<String> TAG_ARG;
    public static final CommandArgumentDefinition<Boolean> OUTPUT_DEFAULT_SCHEMA_ARG;
    public static final CommandArgumentDefinition<Boolean> OUTPUT_DEFAULT_CATALOG_ARG;

    static {
        CommandBuilder builder = new CommandBuilder(COMMAND_NAME);
        CHANGELOG_FILE_ARG = builder.argument(CommonArgumentNames.CHANGELOG_FILE, String.class).required()
                .description("The root changelog").build();
        LABEL_FILTER_ARG = builder.argument("labelFilter", String.class)
                .addAlias("labels")
                .description("Changeset labels to match").build();
        CONTEXTS_ARG = builder.argument("contextFilter", String.class)
                .addAlias("contexts")
                .description("Changeset contexts to match").build();
        TAG_ARG = builder.argument("tag", String.class).required()
            .description("The tag to generate SQL up to").build();
        OUTPUT_DEFAULT_SCHEMA_ARG = builder.argument("outputDefaultSchema", Boolean.class)
                .description("Control whether names of objects in the default schema are fully qualified or not. If true they are. If false, only objects outside the default schema are fully qualified")
                .defaultValue(true)
                .build();
        OUTPUT_DEFAULT_CATALOG_ARG = builder.argument("outputDefaultCatalog", Boolean.class)
                .description("Control whether names of objects in the default catalog are fully qualified or not. If true they are. If false, only objects outside the default catalog are fully qualified")
                .defaultValue(true)
                .build();
    }

    @Override
    public UpdateSummaryEnum getShowSummary(CommandScope commandScope) {
        return UpdateSummaryEnum.OFF;
    }

    @Override
    public String[][] defineCommandNames() {
        return new String[][] { COMMAND_NAME };
    }

    @Override
    public void adjustCommandDefinition(CommandDefinition commandDefinition) {
        commandDefinition.setShortDescription("Generate the SQL to deploy changes up to the tag");
    }

    @Override
    public List<Class<?>> requiredDependencies() {<FILL_FUNCTION_BODY>}
}

        ArrayList<Class<?>> dependencies = new ArrayList<>();
        // The order of these dependencies is important, because we want the writer to be executed before any of the
        // parent dependencies.
        dependencies.add(Writer.class);
        dependencies.add(Database.class);
        dependencies.addAll(super.requiredDependencies());
        dependencies.remove(UpdateSummaryEnum.class); // no update summary for this command, despite the class it is extending having an update summary option
        return dependencies;
    
<methods>public non-sealed void <init>() ,public void adjustCommandDefinition(liquibase.command.CommandDefinition) ,public java.lang.String[][] defineCommandNames() ,public java.lang.String getChangelogFileArg(liquibase.command.CommandScope) ,public java.lang.String[] getCommandName() ,public java.lang.String getContextsArg(liquibase.command.CommandScope) ,public java.lang.String getLabelFilterArg(liquibase.command.CommandScope) ,public liquibase.UpdateSummaryEnum getShowSummary(liquibase.command.CommandScope) ,public liquibase.changelog.ChangeLogIterator getStandardChangelogIterator(liquibase.command.CommandScope, liquibase.database.Database, liquibase.Contexts, liquibase.LabelExpression, liquibase.changelog.DatabaseChangeLog) throws liquibase.exception.DatabaseException,public liquibase.changelog.ChangeLogIterator getStatusChangelogIterator(liquibase.command.CommandScope, liquibase.database.Database, liquibase.Contexts, liquibase.LabelExpression, liquibase.changelog.DatabaseChangeLog) throws liquibase.exception.DatabaseException,public void postUpdateLog(int) ,public List<Class<?>> requiredDependencies() ,public void run(liquibase.command.CommandResultsBuilder) throws java.lang.Exception<variables>public static final non-sealed CommandArgumentDefinition<java.lang.String> CHANGELOG_FILE_ARG,public static final non-sealed CommandArgumentDefinition<liquibase.changelog.ChangeLogParameters> CHANGELOG_PARAMETERS,public static final java.lang.String[] COMMAND_NAME,public static final non-sealed CommandArgumentDefinition<java.lang.String> CONTEXTS_ARG,public static final non-sealed CommandArgumentDefinition<java.lang.String> LABEL_FILTER_ARG,public static final non-sealed CommandArgumentDefinition<java.lang.String> TAG_ARG,private boolean warningMessageShown