public static void mate(ArrayList<ParkerPaulChicken> chickens) {
        Random chickenGenerator = new Random(); // random number generator for generating chickens

        // guard clause - no more chickens or only 1 chicken
        if (chickens.isEmpty() || chickens.size() == 1) {
            return;
        }

        // check if mating is successful
        if (!isMatingSuccessful(chickens)) {
            return;
        }

        // add a random number of chickens
        for (int i = 0; i < chickenGenerator.nextInt(5); i++) {
            chickens.add(new ParkerPaulChicken());
        }
    } // end of mate