class ChangeSetServiceFactory extends AbstractPluginFactory<ChangeSetService> {

    private static ChangeSetServiceFactory factory = null;

    private ChangeSetServiceFactory() {
    }

    public static ChangeSetServiceFactory getInstance() {<FILL_FUNCTION_BODY>}

    @Override
    protected Class<ChangeSetService> getPluginClass() {
        return ChangeSetService.class;
    }

    @Override
    protected int getPriority(ChangeSetService obj, Object... args) {
        return obj.getPriority();
    }

    public ChangeSetService createChangeSetService() {
        return getPlugin();
    }
}

        if (factory == null) {
            factory = new ChangeSetServiceFactory();
        }
        return factory;
    
<methods>public synchronized void register(liquibase.changeset.ChangeSetService) <variables>private Collection<liquibase.changeset.ChangeSetService> allInstances