#vulnerable code 
                                public void update(User user) {
        if (!this.users.contains(user.getRank())) {
            this.users.add(user.getRank());
        }

        synchronized (users) {
            Collections.sort(users);
        }

        if (user.hasGuild()) {
            update(user.getGuild());
        }

        for (int i = 0; i < users.size(); i++) {
            Rank rank = users.get(i);
            rank.setPosition(i + 1);
        }
    } 
                            #location 11 
                            #vulnerability type THREAD_SAFETY_VIOLATION
#fixed code
                                public void update(User user) {
        if (! this.users.contains(user.getRank())) {
            this.users.add(user.getRank());
        }

        Collections.sort(users);

        if (user.hasGuild()) {
            update(user.getGuild());
        }

        for (int i = 0; i < users.size(); i++) {
            Rank rank = users.get(i);
            rank.setPosition(i + 1);
        }
    }