Meaning of the annotations for the proof of each method:
- local_polyh: uses a local linear ranking function for the binary unfolding with polyhedra
- local_mono: uses a local linear ranking function for the binary unfolding with monotonicity constraints
- global_affrnkfn: uses a global affine ranking function with polyhedra
- numerical: the ranking function uses numerical variables or fields
- structural: the ranking function uses reference variables or fields
- loop: the method seems to be part of a loop or recursion

All calls to these methods terminate:
                                             static Shuffle.Random.():void
[loop,numerical,local_polyh]                 public static Shuffle.Shuffle.createList(int):Shuffle.List
                                             public Shuffle.List.(int,Shuffle.List):void
                                             public static Shuffle.Random.random():int
                                             public static Shuffle.Shuffle.main(java.lang.String[]):void
[loop,structural,local_polyh]                public static Shuffle.Shuffle.reverse(Shuffle.List):Shuffle.List
[loop,structural,local_polyh]                public static Shuffle.Shuffle.shuffle(Shuffle.List):Shuffle.List

Some calls to these methods might not terminate:
  none
There are no warnings