/*
         * It returns a delta present BucketList with as less generalization as possible.
         */
        public BucketList GetBestPermutedTable(BucketList bucketList)
        {
            BucketList bestTable = new BucketList();
            for (int i = 0; i < bucketList.Count(); i++)
            {
                List<Node> nodeList = MakeNodeList(bucketList[i].node);
                var anonymizedBucket = GeneralizeAndPermute(min, max, bucketList[i], qid, nodeList, hierarchies);
                bestTable.Add(anonymizedBucket);
            }

            return bestTable;
        }
        /*
         * It returns a delta present BucketList with as less generalization as possible.
         */
        public BucketList GetBestPermutedTable(BucketList bucketList)
        {
            BucketList bestTable = new BucketList();

            for (int i = 0; i < bucketList.Count(); i++)
            {
                List <Node> nodeList         = MakeNodeList(bucketList[i].node);
                var         anonymizedBucket = GeneralizeAndPermute(min, max, bucketList[i], qid, nodeList, hierarchies);
                bestTable.Add(anonymizedBucket);
            }

            return(bestTable);
        }