GraphPartitioner is an abstract class. The GraphPartitioner
class defines the interface that all programmers must provide when
introducing new GraphPartitioner subclasses. A GraphPartitioner is an
algorithm for partitioning (coloring) the vertices of a graph; that is
assigning a color (1 through the number of partitions) to each vertex
of the graph.