private static boolean isMatingSuccessful(ArrayList<ParkerPaulChicken> chickens) {
        ArrayList<ParkerPaulChicken> secondList; // list for selecting second chicken from
        Random chickenSelector = new Random(); // random number generator for selecting chickens
        ParkerPaulChicken initialChicken = chickens.get(chickenSelector.nextInt(chickens.size()));
        ParkerPaulChicken secondChicken; // second chicken for mating

        // check if the first chicken is old enough to mate
        if (!isChickenOldEnoughToMate(initialChicken)) {
            return false;
        }

        // initialize remove first chicken from second list
        secondList = new ArrayList<ParkerPaulChicken>(chickens);
        secondList.remove(initialChicken);

        // find a second chicken from second list
        secondChicken = secondList.get(chickenSelector.nextInt(secondList.size()));

        // second chicken isn't old enough or is the same gender as the first
        return !(!isChickenOldEnoughToMate(secondChicken) || (secondChicken.getSex() == initialChicken.getSex()));

    } // end of isMatingSuccessful