class ChangedSequenceChangeGeneratorSnowflake extends ChangedSequenceChangeGenerator{

    @Override
    public int getPriority(Class<? extends DatabaseObject> objectType, Database database) {
        int priority = super.getPriority(objectType, database);
        if ((Sequence.class.isAssignableFrom(objectType)) && (database instanceof SnowflakeDatabase)) {
            priority += PRIORITY_DATABASE;
        }
        return priority;
    }

    @Override
    public Change[] fixChanged(DatabaseObject changedObject, ObjectDifferences differences, DiffOutputControl control, Database referenceDatabase, Database comparisonDatabase, ChangeGeneratorChain chain) {<FILL_FUNCTION_BODY>}
}

        Sequence sequence = (Sequence) changedObject;

        List<Change> changes = new ArrayList<>();
        AlterSequenceChange accumulatedChange = createAlterSequenceChange(sequence, control);

        if (differences.isDifferent("incrementBy")) {
            AlterSequenceChange change = createAlterSequenceChange(sequence, control);
            change.setIncrementBy(sequence.getIncrementBy());
            accumulatedChange.setIncrementBy(sequence.getIncrementBy());
            changes.add(change);
        }

        if (changes.isEmpty()) {
            return null;
        } else {
            return changes.toArray(EMPTY_CHANGE);
        }
    
<methods>public non-sealed void <init>() ,public liquibase.change.Change[] fixChanged(liquibase.structure.DatabaseObject, liquibase.diff.ObjectDifferences, liquibase.diff.output.DiffOutputControl, liquibase.database.Database, liquibase.database.Database, liquibase.diff.output.changelog.ChangeGeneratorChain) ,public int getPriority(Class<? extends liquibase.structure.DatabaseObject>, liquibase.database.Database) ,public Class<? extends liquibase.structure.DatabaseObject>[] runAfterTypes() ,public Class<? extends liquibase.structure.DatabaseObject>[] runBeforeTypes() <variables>