private Location findFood(Location location)
    {
        Field field = getField();
        List<Location> adjacent = field.adjacentLocations(getLocation(), 1);
        Iterator<Location> it = adjacent.iterator();
        while(it.hasNext()) {
            Location where = it.next();
            Object animal = field.getObjectAt(where);
            if(animal instanceof Rabbit) {
                Rabbit rabbit = (Rabbit) animal;
                if(rabbit.isAlive()) { 
                    rabbit.setDead();
                    foodLevel = RABBIT_FOOD_VALUE;
                    // Remove the dead rabbit from the field.
                    return where;
                }
            }
            if(animal instanceof Fox) {
                Fox fox = (Fox) animal;
                if(fox.isAlive()) { 
                    fox.setDead();
                    foodLevel = FOX_FOOD_VALUE;
                    // Remove the dead rabbit from the field.
                    return where;
                }
            }
            if(animal instanceof Hunter){
            	Hunter hunter = (Hunter) animal;
            	if(hunter.isAlive()){
            		hunter.setDead();
            		foodLevel = HUNTER_FOOD_VALUE;
            		return where;
            	}
            }
            if(animal instanceof Grass){
            	Grass grass = (Grass) animal;
            	if(grass.isAlive()){
            		grass.setDead();
            		return where;
            	}
            }
        }
        return null;
    }