public static ArrayList<HashSet<Integer>> integrateSet(ArrayList<HashSet<Integer>> setofSet) {
        HashSet<Integer> Exception = new HashSet<>();
        ArrayList<HashSet<Integer>> clusterList = new ArrayList<>();
        while (setofSet.isEmpty() == false) {
            HashSet<Integer> candidate = new HashSet<>();
            ArrayList<HashSet<Integer>> candidateSetList = new ArrayList<>();
            int maxElement = maxFrequency(setofSet, Exception);
            while (maxElement != 0) {
                for (int i = 0; i < setofSet.size(); i++) {
                    if (candidate.contains(i) == false) {
                        if (setofSet.get(i).contains(maxElement)) {
                            candidate.add(i);
                            if (candidateSetList.contains(setofSet.get(i)) == false) {
                                candidateSetList.add(setofSet.get(i));
                            }
                        }
                    }
                }
                Exception.add(maxElement);
                maxElement = maxFrequency(candidateSetList, Exception);
            }
            HashSet<Integer> newcluster = new HashSet<>();
            for (int setindex : candidate) {
                newcluster.addAll(setofSet.get(setindex));
            }
            setofSet.removeAll(candidateSetList);

            clusterList.add(newcluster);

        }
//		for(int i=0;i<clusterList.size();i++){
//			System.out.println("Cluster"+(i+1)+":"+clusterList.get(i));
//		}
        ExportToCsv.export(clusterList);
        return clusterList;
    }