class DataSnapshotGenerator extends JdbcSnapshotGenerator {

    public DataSnapshotGenerator() {
        super(Data.class, new Class[]{Table.class});
    }

    @Override
    protected DatabaseObject snapshotObject(DatabaseObject example, DatabaseSnapshot snapshot) throws DatabaseException, InvalidExampleException {
        return example;
    }

    @Override
    protected void addTo(DatabaseObject foundObject, DatabaseSnapshot snapshot) throws DatabaseException, InvalidExampleException {<FILL_FUNCTION_BODY>}
}

        if (!snapshot.getSnapshotControl().shouldInclude(Data.class) || !snapshot.getDatabase().supports(Table.class)) {
            return;
        }
        if (foundObject instanceof Table) {
            Table table = (Table) foundObject;
            try {

                Data exampleData = new Data().setTable(table);
                table.setAttribute("data", exampleData);
            } catch (Exception e) {
                throw new DatabaseException(e);
            }
        }
    
<methods>public void addStatusListener(liquibase.diff.DiffStatusListener) ,public Class<? extends liquibase.structure.DatabaseObject>[] addsTo() ,public int getPriority(Class<? extends liquibase.structure.DatabaseObject>, liquibase.database.Database) ,public Class<? extends liquibase.snapshot.SnapshotGenerator>[] replaces() ,public liquibase.structure.DatabaseObject snapshot(liquibase.structure.DatabaseObject, liquibase.snapshot.DatabaseSnapshot, liquibase.snapshot.SnapshotGeneratorChain) throws liquibase.exception.DatabaseException, liquibase.snapshot.InvalidExampleException<variables>private Class<? extends liquibase.structure.DatabaseObject>[] addsTo,private final non-sealed Class<? extends liquibase.structure.DatabaseObject> defaultFor,private final Set<liquibase.diff.DiffStatusListener> statusListeners