private void removeBrokenMTWCs(MTWData data) {
            Set<Set<Tuple<Integer, Integer>>> set;
            if (data.player == playerID) {
                set = data.mTWCFP2;
            } else {
                set = data.mTWCFP1;
            }
            Iterator<Set<Tuple<Integer, Integer>>> combinations = set.iterator();
            while (combinations.hasNext()) {
                Set<Tuple<Integer, Integer>> combination = combinations.next();
                for (Tuple<Integer, Integer> coordinate : combination) {
                    // Remove the combination if it contains the current coordinate
                    // (safely by using the iterator remove)
                    if (coordinate._1.equals(data.column) && coordinate._2.equals(data.row)) {
                        combinations.remove();
                        break;
                    }
                }
            }
        }