public boolean validate() {
        DwDBridgePlugin plugin = DwDBridgePlugin.getPlugin();

        String sqlStatement = "SELECT f.`user_id`, u.`username`, u.`user_group_id`, u.`secondary_group_ids`, u.`is_mcConfirmed` FROM `xf_user_field_value` f LEFT JOIN `xf_user` u ON f.`user_id`=u.`user_id` WHERE f.`field_id`='" + plugin.getConfig().getString("uuidField") + "' AND f.`field_value`='" + player.getUniqueId().toString() + "' LIMIT 1";
        ResultSet rS = null;
        try {
            rS = plugin.getDb().query(sqlStatement);

            if (rS.next()) {
                if (xenID != rS.getInt("user_id")) {
                    hasChanges = true;
                    xenID = rS.getInt("user_id");
                }

                xenUsername = rS.getString("username");
                primaryGroupID = rS.getInt("user_group_id");
                
                if(mcConfirmed != (rS.getInt("is_mcConfirmed") == 1)) {
                    hasChanges = true;
                    shouldForceUpdate = true;
                    mcConfirmed = (rS.getInt("is_mcConfirmed") == 1);
                }

                if (!secondaryGroupIDString.equals(rS.getString("secondary_group_ids"))) {
                    hasChanges = true;
                    secondaryGroupIDString = rS.getString("secondary_group_ids");
                    List<String> tmpArr = Arrays.asList(secondaryGroupIDString.split(","));

                    secondaryGroupIDs.clear();

                    for (String tmp : tmpArr) {
                        secondaryGroupIDs.add(Integer.parseInt(tmp));
                    }
                }

                save();

                return true;
            }
        } catch (Exception e) {
        }

        return false;
    }