Olá! Acabei de ver o vídeo sobre o Chain of Responsability e fiquei pensando: em vez de haver um método para determinar o próximo, não poderia existir um ArrayList que os objetos do desconto receberiam no construtor, e para passar os descontos se usasse um for?