# File lib/ai4r/clusterers/diana.rb, line 40
      def build(data_set, number_of_clusters)
        @data_set = data_set
        @number_of_clusters = number_of_clusters
        @clusters = [@data_set[0..-1]]
        
        while(@clusters.length < @number_of_clusters)
          cluster_index_to_split = max_diameter_cluster(@clusters)
          cluster_to_split = @clusters[cluster_index_to_split]
          splinter_cluster = init_splinter_cluster(cluster_to_split)
          while true
            dist_diff, index = max_distance_difference(cluster_to_split, splinter_cluster)
            break if dist_diff < 0
            splinter_cluster << cluster_to_split.data_items[index]
            cluster_to_split.data_items.delete_at(index)
          end
          @clusters << splinter_cluster
        end
       
        return self
      end