Please split this method into several different methods - one for each of the cases being tested.