public void optimaze(List<Point> set) {
        Random random = new Random();
        
        for (int i = 0; i < set.size(); i++) {

            List<Point> emergInCircle = getEmergInCircle(set.get(i));

            if (circleEmpty(set.get(i))) {
                int rand = random.nextInt(incidents.size());

                set.get(i).x = incidents.get(rand).x + 5;
                set.get(i).y = incidents.get(rand).y + 5;

            } else {
                if (emergInCircle.size() == 1) {
                    set.get(i).x = emergInCircle.get(0).x + 5;
                    set.get(i).y = emergInCircle.get(0).y + 5;

                } else {

                    int averegeX = 0;
                    int averegeY = 0;

                    for (int j = 0; j < emergInCircle.size(); j++) {
                        averegeX += emergInCircle.get(j).x;
                        averegeY += emergInCircle.get(j).y;
                    }
                    set.get(i).x = averegeX /= emergInCircle.size();
                    set.get(i).y = averegeY /= emergInCircle.size();
                }
            }
        }
        for (int k = 0; k < set.size(); k++) {
            for (int i = k+1; i < set.size(); i++) {
                if(set.get(k).x == set.get(i).x && set.get(k).y == set.get(i).y){
                    set.get(i).x += 5;
                    set.get(i).y += 5;
                }
            }
        }
    }