public void checkReproduce() {
        int currFishsSize = fishies.size();
        //you may want to add additional new baby reproduction limits
        for (int i = 0; i < currFishsSize; i++) {
            for (int j = i + 1; j < currFishsSize; j++) {
            //don't want double reproduction
                if (fishies.get(i).collidesWithFish(fishies.get(j))) {
                    if (fishies.get(i).canReproduceWithFish(fishies.get(j))) {
                        ArrayList<Fish> babies =
                            fishies.get(i).reproduceWithFish(fishies.get(j));
                        if (babies != null) {
                        //Only add non-null babies if there is room
                            if (fishies.size() < 1000) {
                            // prevent heapsize crashes - limit # of fishies
                                fishies.addAll(babies);
                            }
                            i++;
                            // prevent current parent from having too much fun
                        }
                    }
                }
            }
        }
    }