Add Stageable interface, implement it with Tables(DTO), Brackets(DTO), and FinalableStage extends Stageable. TournamentDTO has field of type List<T extends Stageable>.
FinalableStage has List<Finalable> : finals == List<Finalable>.
Class Tables implements Finalable.
Class Brackets implements Finalable.
Interface Finalable extends Stageable.
Class FinalableStage implements Stageable.
Add Stageable interface, implement it with Tables(DTO), Brackets(DTO), and FinalableStage extends Stageable. TournamentDTO has field of type List<T extends Stageable>.
FinalableStage has List<Finalable> : finals == List<Finalable>.
Class Tables implements Finalable.
Class Brackets implements Finalable.
Interface Finalable extends Stageable.
Class FinalableStage implements Stageable.