public void merge(Iterable<? extends Player> updateDatabase) {
        Map<String, Player> master = getMergeMap(masterDatabase);

        Map<String, Player> update = getMergeMap(updateDatabase);
        for (Map.Entry<String, Player> crnt : update.entrySet()) {
            String key = crnt.getKey();
            Player rhs = crnt.getValue();
            if (!master.containsKey(key)) {
                missingPlayers.add(rhs);
            } else {
                Player lhs = master.get(key);
                try {
                    lhs.getIds().merge(rhs.getIds());
                } catch (IdConflictException e) {
                    conflictPlyaers.add(rhs);
                }
            }
        }
    }