class SynthTemplateAppenderEvent implements IEventChain {

    @Override
    public QueueState set(QueueState queueState) {
        try {
            //TODO SELECT RANDOM !!! WTF IS THAT
            //TODO THIS NEEDS A WEIGHTER ..

            //List<SynthTemplate> synthTemplates = templateSelector.chooseRandomList(numOfGeneratedMixes);

            //hard code specific template
            SynthTemplate synthTemplate = templateSelector.chooseSpecific(11);

            queueState.getQueueItem().getProgression().getStructure().forEach(pUnit -> {
                pUnit.getProgressionUnitBars().forEach(pBar -> {
                    pBar.setSynthTemplates(Arrays.asList(synthTemplate));
                });
            });

        } catch (Exception e) {
            Application.logger.debug("LOG:", e);
        }

        return queueState;
    }

}