public void moveForItems(Person p, ITask task, SimulationMap map){
        LOG.info(p.name + " is fetching item:");
        for(String str: task.getRequiredItemsSet()){
            if(!p.hasItem(str, task.getRequiredItems().get(str)) && map.hasItem(str, task.getRequiredItems().get(str))){
                p.setTargetItem(str);
                LOG.info(str);
                try {
                    p.setRoute(AStarMulti.getRoute(map.getLocationsOfItem(str), map.getClosestNode(p.currentLocation())));
                    if(map.getClosestNode(p.currentLocation()).equals(p.getRoute().getLast())) p.setRoute(null);
                } catch (Exception ex) {
                    Logger.getLogger(TaskManager.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
        }
    }