Merge() public static method

public static Merge ( ClusterPrototype cluster1, ClusterPrototype cluster2 ) : ClusterPrototype
cluster1 ClusterPrototype
cluster2 ClusterPrototype
return ClusterPrototype
        public IList <ClusterPrototype> MergeClustersIfRequired(IList <ClusterPrototype> clusters)
        {
            var clustersToIterateOver = new List <ClusterPrototype>(clusters);

            foreach (var cluster in clustersToIterateOver)
            {
                foreach (var otherCluster in new List <ClusterPrototype>(clusters))
                {
                    if (cluster != otherCluster && this.IsMergeRequired(cluster, otherCluster))
                    {
                        clusters.Remove(cluster);
                        clusters.Remove(otherCluster);
                        clusters.Add(ClusterPrototype.Merge(cluster, otherCluster));
                    }
                }
            }
            return(clusters);
        }